アスキー・ドットPC編集部(編):すっきりわかった!エクセル関数 組合せ技&関数事典 |
作成日: 2013-01-14 最終更新日: |
Excel の関数について、Excel 2000, 2002, 2003, 2007 に対応して述べる。
この手の本はすべてがカラーページでうっとうしいのだが、 この本は総カラーは前半分だけである。これはすがすがしい。
p.82 右列、下から4 行目、QUOTENT 関数とあるが、正しくは QUOATIENT 関数。 最初の式での表示は正しい。
p.128, IMSQRT(-4) の値が 1.2246…… + 2i となっているが、正確に書くべき。 理論的にはただの 2i、つまり実部が 2 で虚部が 1 の純虚数である。 Excel で計算すると 1.22460635382238E-016+2i である。つまり1.2246 から E-016 のところは非常にゼロに近く、 ゼロそのものといってよい。ただし、コンピュータで扱うゴミがあるので、どうしても表示してしまう、 ということを付け加えないとならないだろう。
ちなみに、IMSQRT は IMaginary SQRT (虚数が扱える)平方根、という意味と思われる。
この関数名を見たとき、ネットワークの日数とはなんだろう?と不思議に思った。 なんのことはない。これは NET (ネット、正味)の WORKDAYS (営業日、稼働日)の意味だとわかった。
使い方。下記で B3 セルにマウスポインタをもっていくと、注釈で式が出てくる。
| A | B | |
|---|---|---|
| 1 | 起算日 | 2013/5/1 |
| 2 | 締切日 | 2013/7/31 |
| 3 | 残り日数 | 64 |
| 4 | 祝日 | |
| 5 | 5月3日 | 憲法記念日 |
| 6 | 5月4日 | みどりの日 |
| 7 | 5月5日 | こどもの日 |
| 8 | 7月15日 | 海の日 |
なお、海の日はハッピーマンデーだから、ほかの年は暦日がずれる
Excel 2007 からインターフェースが大きく変わった。たとえば、この条件付き書式は、 Excel 2003 より前はプルダウンメニューの「書式」にあったが、 Excel 2007 からはホームタブの「条件付き書式」を選ぶことになった。
こんな式が出ている
=IF(VLOOKUP(E5,$A$3:$C$8, 3, 0) = "", "欠席", VLOOKUP(E5,$A$3:$C$8, 3, 0))
直観的に、VLOOKUP が2回も、それもまったく同じものが出ているのがもったいないと思う。
これと少し似ているが、IF + ISERROR の組み合わせがある。ISERROR は Excel 2007 からの関数である。
=IF(ISERROR(VLOOKUP(E5,$A$3:$C$8, 3, 0)), "不明", VLOOKUP(E5,$A$3:$C$8, 3, 0))
2003 までは上記のように記述しなければならなかった。しかし 2007 からは次のように書ける。
=IFERROR(VLOOKUP(E5,$A$3:$C$8, 3, 0), "不明")
なんという省エネだろう。
本当は、IF + VLOOKUP でも、IFERROR のほかに、IFBLANK など、
それっぽく動くものがあればいい。しかし、2007 では IFERROR だけである。
自分で作るにはどうすればよいか。2003 ではまず VBA でマクロを作る。
Function IfError(inout As Variant, outonly As String)
On Error GoTo ErrorHandler
If IsError(inout) Then
IfError = outonly
Else
IfError = inout
End If
Exit Function
ErrorHandler:
Resume Next
End Function
あとはこれをデフォルトの箇所に xla 形式で保存する。名前は myaddin.xla などでいい。
すると、ツールのアドインにこの myaddin が出てくるのでこれをチェックすればよい。
データベース関数(D 関数)
エクセルの関数で、データベース関数とは、検索の対象となる表と、検索の条件を表す表を別に作り、
この条件表にあてはまるデータを検索対象の表から探して値を求める関数である。この本では、
DAVERAGE, DSUM が実例で紹介されていて、DCOUNT も名前だけだが挙げられている。
全部で D 関数は 13 種類ある。
<
- daverage
- dcount
- dcounta
- dget
- dmax
- dmin
- dproduct
- dstdev
- dstdevp
- dsum
- dvar
- dvarp
- getpivotdata
getpivotdata も、D 関数に入れられている。また、その他の D で始まる関数は、
dget を除いて D がない関数もある。これらは、D の有無だけの違いである。
dget は、条件を満たすレコードが1つだけある場合にはその値を返し、
全くない場合あるいは2つ以上ある場合は、エラーとなる。
条件を満たす値に対してホゲホゲする
条件を満たす値に対していろいろな演算を行うときの方法はいろいろある。
たとえば、この本の 134 ページには、sumif 関数を使う方法が載っている。
ただし、条件が増えた場合は、DSUM 関数もしくは条件付き合計式ウィザードを使うように、
とのことである。このウィザードを使うには、
2003 までではツール→アドイン→条件付き合計式ウィザードにチェックすればよい。
実際に使うには、ツールの「ウィザード」から「条件付き合計式」を選ぶ。
Excel 2007 からはSUMIFS 関数が新たに付け加えられた(p.244)。
p.134 の選択肢として SUMIFS 関数も書いてほしかった。
書誌情報
書 名 すっきりわかった!エクセル関数 組合せ技&関数事典
著 者 アスキー・ドットPC編集部(編)
発行日 2007 年 10 月 15 日
発行所 アスキー
定 価 1800円(本体)
サイズ ?版
ISBN 978-4-7561-5023-3
その他 南越谷図書館で借りて読む
まりんきょ学問所 >
読んだ本の記録 >
アスキー・ドットPC編集部(編):すっきりわかった!エクセル関数 組合せ技&関数事典
MARUYAMA Satosi