- ベストアンサー
Excelの関数の意味を教えてください。
Excel関数初心者です。 以下のふたつの関数の式の意味を教えてください。 どの値を見に行って、それに対してどのような処理を行なっているのかを、できるだけ、わかりやすく教えてください。 (1)=IF(ISERROR(VLOOKUP(A2,B$1:C1,2,0)),"",VLOOKUP(A2,B$1:C1,2,0))&B2 (2)=SUMPRODUCT(1*NOT(ISERROR(FIND(B2,$C$1:$C$15))),$D$1:$D$15)
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
(1)VLOOKUP()で最後の項目が0又はFALSEの場合 A2に該当する値が見つからないと#N/Aというエラーを返します。 ISERROR()は内容がエラーだとTRUEでIF文は空白を返します。 正常だとFALSEで、VLOOKUPの結果を返します。 A列の値がB1からB列の前の行までに 存在する場合、存在する初めの行のC列の値と同じ行のB列の値を結合して表示します。 存在しない場合、同じ行のB列の値を表示します。 (2)FIND()は見つかった場合、数字(桁数)を返し 見つからないと#VALUE!というエラーを返します。 SUMPRODUCTはセル範囲を乗算したものの和を求める関数です。 この場合B列の内容がC列の1~15行にある行のD列の値を合計します。 この式の場合は =SUMIF($C$1:$C$15,B2,$D$1:$D$15) と同じ結果になります。
その他の回答 (1)
- piro19820122
- ベストアンサー率38% (256/672)
(1)について。 B列1行目から1行目の中(※)より、セルA2と同じ内容のセルを探します。 もし一致するセルがなければ、単にセルB2の内容を、 一致するセルがあれば、その行のC列の内容とセルB2の内容を連続して、 それぞれ表示します。 ※範囲が「B$1:C1」と絶対指定になっているので、この数式をコピーして1つ下のセルに貼り付けたら範囲は「B$1:C2」となります。そうすると検索範囲は「B列1行目から2行目」になります。同様にずっと下の方に貼り付けていけば、検索範囲はどんどん広がっていきます。最初の行だけでは分かりにくいですが、これなら少しは分かりやすくなりますか。 それにしても、ちょっと分かりにくいですかね。 分からなければまたおっしゃってください。