• ベストアンサー

EXCEL の数式の意味

=IF(LEFT(L178,2)="他社","",IF(H178="CL",IF(ISERROR(VLOOKUP(E178,マスタ!I:S,11,0)),1,VLOOKUP(E178,マスタ!I:S,11,0)),"")) 以上の数式の意味を教えて頂ければ助かります。 「L178の左端から2文字抽出した文字が"他社"の場合は" "を表示する。 一方で他社でない場合は・・・の続きがわかりません。 ご教授お願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • bunjii
  • ベストアンサー率43% (3589/8249)
回答No.2

Excel 2003以前のバージョンでしょうか? IF関数が3重の入れ子になっています。 一番外側のIF関数は解読できているようですので2番目と3番目について説明します。 2番目のIF関数はH178セルの値が"CL"のときは3番目のIF関数に処理を委ねています。"CL"以外のときは""(文字数0の文字列)を返します。 3番目のIF関数ではVLOOKUP関数で目的の値が見付からないとき1(数値の1)を返し、見付かったときはシート名がマスタのI列からE178の値と一致する行を探し、その行のS列の値を返すようになっています。 Excel 2007以降のバージョンでは3番目のIF関数をIFERROR関数に置き換えると数式が簡素化されて分かり易くなります。 =IF(LEFT(L178,2)="他社","",IF(H178="CL",IFERROR(VLOOKUP(E178,マスタ!I:S,11,0),1),"")) 尚、Excelの関数は数式を設定したセルへ数式の計算結果を代入するものなので任意のセルへ出力するものではありません。 つまり、セルの値=数式 と言う考え方です。

その他の回答 (2)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.3

IF関数は、 (1)条件判定部分の引数(値または式) (2)「真=該当の場合」のセットする値または数式 (3)「偽=該当しない場合」のセットする値または数式 の3つから成り立っている。 (2)か(3)が、どれかが入れ子(ネスト)になっている場合がある。 また(1)(2)(3)とも、エラーかどうかの判定(IF関数を使っての)が混じる場合がある。 これを念頭に2番目以下のIF関数部分を分離して、2股別(2分分岐)に図示してみれば、意味がわかると思う。      

  • aokii
  • ベストアンサー率23% (5210/22062)
回答No.1

IF(H178="CL",IF(ISERROR(VLOOKUP(E178,マスタ!I:S,11,0)),1,VLOOKUP(E178,マスタ!I:S,11,0)),"") の意味は以下の通りです。 H178が”CL"以外だったら" "を表示する、H178が”CL"だったら、 E178をマスタ!のシートのI列から探して、E178と同じ値がI列内に有ったら、そのI列の行と同じ行にあるS列(I列から数えて11番目の列)の値を出力する。

関連するQ&A