• 締切済み

エクセル書式について・・。

エクセル関数に少し理解している者です。 =IF(ISERROR(VLOOKUP($S7,$AM5:$BH42,3,FALSE)),"0",(VLOOKUP($S7,$AM5:$BH42,3,FALSE))) の関数式の意味が分かりません。 (1)この数式の意味を教えてください。 (2)この数式を作るためにどのような方法で行うのか できれば詳しく教えてください。 (1)、(2)共にできれば初心者でも分かるようなご返事いただけると 助かります。よろしくお願いいたします。

みんなの回答

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

>数式の意味を教・・ 普通はS列にデータが入る前に、他列にこの式を入れて多数行に前もって式を複写しておく。しかしそれでIF()の部分が無いと、#N/Aが出てしまい目障り。 S37セルが空白だったり、検索表$AM5:$BH42のAM列に見つからないとき は、エラーになるが、この#N/Aがセルに出ると見苦しいので、文言(「該当なし」など)を表示し、または空白にして、見つかったときは、本来の検索して見つかった値を表示する。 FALSE(型)はTRUE型に対しあり、該当分の他列の(この例ではAM列から3列目AO列)のデータを採ってくる。 >)この数式を作るためにどのような方法で行うのか このままのようにキーボードから打ち込みます。 挿入ー関数による方法は、まどろっこしい。 どんな関数でも同じです。式が長いから、何か特別に感じたのだろうか。前半と後半は繰り返しだしなれれば難しいことではない。 ーー 検索表の範囲を示す番地の$は、式を他行に複写するとき(通常は複写する使い方をする)、つけないと、ずれていくのでつけます。大切なことです。 ーー VLOOKUP関数などは、エクセルでは有名関数で、WEB(Googleなど)で「エクセル VLOOKUP」で照会すれば、たくさん解説が出てくるので、このコーナーに質問するまでも無く、判ると思う。 ーー LOOKUPと名が付く関数は4種あり VLOOKUPには2型あり 検索値がある列は最左列にある必要があり 検索表は$をつけて固定する必要があり FALSE型は検索列について、昇順等に並べておく必要はない。

yesman59
質問者

お礼

親切にご回答ありがとうございました。

noname#77845
noname#77845
回答No.1

どこまで判っているか判りませんから最初から行きましょう。 =IF(ISERROR(VLOOKUP($S7,$AM5:$BH42,3,FALSE)),"",(VLOOKUP($S7,$AM5:$BH42,3,FALSE))) まず、$付のセルはコピーしても変わらないことを表しています。 $S7を上下にコピーしたら7が8,9に変化しますが、左右にコピーしても$Sは変化しません。これを絶対参照といいます。では、 VLOOKUP($S7,$AM5:$BH42,3,FALSE) この式は$S7セルの中身を表$AM5から$BH42の左端列で検索し、該当するものがあったら、左から3番目の値($AO5~$AO42)を表示させる関数です。無かったらエラーを返します。 ISERROR() これは、括弧の中がエラーなら真、エラーじゃなかったら偽になる関数です。IF関数の条件式のところにありますから、VLOOKUP関数で該当するものがなかったらエラーになることを利用して真偽判定をさせている関数です。 IF(条件式,真の場合,偽の場合) そのままなのですが、条件式に応じて正しかった場合と正しくなかった場合を分けて表示させています。 全てを合わせると、VLOOKUP関数で検索したときに該当するものがなかったら何も表示しない("")、該当するものがあったら該当するものを表示しなさい。という関数です。

yesman59
質問者

お礼

親切なご回答ありがとうございました。