2007年4月アーカイブ

英数字を全角にしたり半角にする関数はありますが、残念なことにひらがなやカタカナに変換する関数はありません。一般的にはフリガナ関数を使って取り出すのが無難ですが、郵便番号変換した住所や、本来の読みとは異なる音や訓で入力した場合、もしくは文字パッドから入力した場合は「フリガナ」ではなくなってしまうので注意が必要です。

フリガナ関数、=PHONETIC(セル)を利用してフリガナを取り出す場合、セルの書式を設定する必要があります。本来の文字列がA列、フリガナがB列の場合、A列を選択し「書式(O)→ふりがな→設定」で「ふりがなの設定」画面を開き、フリガナの種類を選びます。選べるのは「ひらがな」「全角カタカナ」「半角カタカナ」です。ひらがなを選んでおけば、=PHONETIC(セル)で取り出したふりがなはひらがなになりますし、半角カタカナにしておけば半角カタカナになります。「ふりがなの設定」は入力前でも入力後でも行えます。念を押しますが、フリガナ関数を使うセルではなく、本来の文字列が入っているセルの設定です(できないケースの良くあるパターンです)。

単純にひらがなとカタカナを変換するだけなら、アドインを使ってみるのもひとつの手です。以前私が使っていた複雑な指定が出来てフリーだったソフトは既になくなっていて(エクセル2003には対応していません)、今のところこれがすごいぞ!というのはありませんが、とりあえずフリーソフトで現行バージョンでも使えそうなのが、文字種変換(Excelマクロを用いた小学校教員必携プログラム集)かと。シェアウェアになると高機能でよい物も出回っているようですので、探してみてください。

ISERR などのテスト関数

| コメント(0) | トラックバック(0)

ISERR、ISERROR、ISNA、などを使ってエラーを回避できますと言われても・・・具体的な使い方、イマイチですよね。

IF関数とセットで使ってみては?

例えば、LOOKUPがらみの関数の場合、マッチしないと「#N/A」が返ってしまい、見にくいことこの上ない!と言う場合に使うわけですが。

=IF(ISNA(VLOOKUP(検索値,範囲,列番号,型)),"",VLOOKUP(検索値,範囲,列番号,型))

という具合に使います。日本語訳すると、「もしVLOOKUPの結果が#NAだったらブランク、そうでないならVLOOKUPの結果を表示しなさい」となります。

TRUE(真)、FALSE(偽)もわかりにくい要因のひとつかもしれませんね。もちろん、関数を入れ子にして使うことがわかりにくいんですけど(苦笑)。プログラムの話なら行を変えたりインデントを使ったり見やすく書けますが、エクセルは1行しかありませんからね(涙)。こればかりは慣れて貰うしかないかも。

私の場合は1つのセルに全部詰め込まずに1セルに1つか2つの関数を入れて、右隣のセルでその結果を参照して次の関数・・・みたいに使っていたことがあります(笑)。これは複雑な入れ子にする場合、かなり有効だと思いますよ。何がどう間違っているのか検証しやすいですから。とりあえず見栄えは悪くなりますが、印刷範囲指定をして無視してしまえばそんなに目立ちませんしね♪

ズバリ、エクセル上でコピーしてきた表をワードに「貼り付け」すると、ワードの表形式に変換されます。これはこれで、ワードで作るより楽という意味で使えばいいのですが、エクセルの表そのものを貼り付けたい場合にどうするかですよね。

一般的には、「編集(E)」から「形式を選択して貼り付け(S)」を選び、「Microsoft Office Excell ワークシートオブジェクト」をクリックして選んでから「OK」ボタンをクリックします。こうしておけば、後から表部分をクリックして選択してからダブルクリックするとエクセルシート上で編集できます。

また、最新のエクセルデータを引用する必要がある場合は、上記の通り、「Microsoft Office Excell ワークシートオブジェクト」を選択し、形式を選択して貼り付け画面の左側にある「貼り付け」「リンク貼り付け」の内、「リンク貼り付け」のラジオボタンをクリックしてから「OK」ボタンをクリックします。表を選択し、ダブルクリックするとエクセルが開き、参照しているファイルを編集することが出来ます。

070404.gif

画像を貼り付けたエクセルシートを印刷してみたら画像だけが印刷されていなかった。

とりあえず、慌てずに印刷されなかった画像の上で右クリックをして「図の書式設定」を開いてみてください。「プロパティ」タブをクリックして、「□オブジェクトを印刷する(P)」の□(チェックボックス)にチェックが入っているか確認してください。

チェックが入っていなかった場合はそれが原因ですので、チェックを入れてからもう一度印刷してみてください。

問題はチェックが入っているのに印刷されなかった場合ですよね。他のMSソフト(ワードなど)でも画像が印刷されないのか、MS以外のソフトでも画像が印刷されないのか、細かく検証していく必要がありそうです。

2009.05.25 追記
チェックボックスやボタンが印刷されない場合も同じように確認して下さい。コントロールの書式設定を開きプロパティタブにある「□オブジェクトを印刷する」です。

2012.01.25 追記
2011年10月以降のエクセルアップデートを使うと、オブジェクト(グラフ、テキストボックス、クリップアートなど)が印刷されなくなることがあるそうです。解決方法については、マイクロソフトのサポートページを参照ください。
2011 年 10 月以降に公開された Excel 2007 の更新プログラムを適用すると表示通りに印刷できない

このアップデート以前から2007でオブジェクトが印刷できないという話を聞いています。今まで印刷できていたモノがある日突然できなくなったのなら、エクセル、MSオフィス、OS、プリンタドライバのアップデートが原因の可能性があります。2007をインストールして2003以前で作ったブックや2010で作られたブックのオブジェクトが印刷できない場合、バージョンの互換性に問題がある可能性があります。

MSにも問い合わせ窓口(この件は無料でサポートをうけられます)がありますので、原因の特定が難しく解決に至らない場合は、ネットで探し続けるよりも直接問い合わせた方が早いかと思います。
https://support.microsoft.com/oas/default.aspx?gprid=918&st=1&wfxredirect=1&sd=gn

割り算をしたときの余りが知りたいんですけど・・・通常の割り算で使う「スラッシュ」では小数点以下までどんどん割りますので、この場合は余りを求める関数を利用します。

=MOD(5,2)(5÷2の余りを求める場合)

かっこ内の「5」の位置には割る前の数値、「2」の位置には除数(割る数値)を入れて使います。もちろんセルを指定することも可能です。ただ、除数に「0」を指定することは出来ず、計算結果が「#DIV/0!」となります。

あと、余りだけ必要な場合はこれでかまいませんが、商と余りを求める場合は別の計算が必要になります。扱いやすいROUDDOWN関数を使って、=ROUNDDOWN(5/2,0)とするか、短い関数を使うならINT関数がオススメで、=INT(5/2)となります。ROUNDDOWN関数はすでにご存じかと思いますが、数値を切り捨てる関数。(A,B)のAには切り捨てる前の値(今回は5/2)、Bに桁数(今回は整数なので「0」)を指定して使います。INT関数はズバリ指定された値から最大の整数を抜いてくれる関数です。5÷2の場合、エクセル上の答えは「2.5」ですので、その最大の整数「2」を表示してくれます。

A

B

C

D

1

5

2

=INT(A1/B1)

=MOD(A1,B1)

2

5

0

=IF(B2=0,"",INT(A2/B2))

=IF(C2="","",MOD(A2,B2))

エラーかどうかを見定めるには、ISERRやISERRORが有効ですが、単に除数が「0」かどうかを判定すればいいので、除数がゼロだった場合の対処法さえ書いておけばいいかと思います。2行目のC列はB列が「ゼロ」ならブランク、D列はC列がブランクなら同様にブランクと書いてみました。算数のように書くのなら、=C1&"..."&D1あたりでしょうか。

このアーカイブについて

このページには、2007年4月に書かれたブログ記事が新しい順に公開されています。

前のアーカイブは2007年3月です。

次のアーカイブは2007年5月です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

ウェブページ

OpenID対応しています OpenIDについて
Powered by Movable Type 5.04