• 締切済み

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

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

みんなの回答

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答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
質問者

お礼

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

関連するQ&A

  • EXCEL 2003にて予定表を作成しています。

    EXCEL 2003にて予定表を作成しています。 祝日を、VLOOKUP関数にて表示しました。 =VLOOKUP(A5,$F$5:$G$20,2,FALSE) エラー( #N/A )を非表示にするための関数を 入力するも、上手くいきません。図添付 =IF(ISERROR(VLOOKUP(A5,$F$5:$G$20,2,FALSE),"",VLOOKUP(A5,$F$5:$G$20,2,FALSE)) 「入力した数式は正しくありません」と表示されます。 正しい数式を教えてください。よろしくお願いします。

  • エクセルのVBA1について

    お世話になります。 エクセルの文で下記の式があります。 =IF(ISERROR(VLOOKUP($E3822,☆集計!$C:$D,2,FALSE)),"対象外",IF($D3822>=VLOOKUP($E3822,☆集計!$C:$D,2,FALSE),"対象","対象外")) これは、正常に通ります。 これをVBAのFomura関数にしてみした。 Mdata = 3824 Range("L" & Mdata).Formula = "=IF(ISERROR(VLOOKUP($E" & Mdata & ",☆集計!$C:$D,2,FALSE))," & "対象外" & ",IF($D" & Mdata & ">=VLOOKUP($E" & Mdata & ",☆集計!$C:$D,2,FALSE)," & "対象外" & "," & "対象" & "))" 'Range("L" & Mdata).Formula = "=IF(ISERROR(VLOOKUP($E" & Mdata & ",☆集計!$C:$D,2,FALSE))," & Gai & ",IF($D" & Mdata & ">=VLOOKUP($E" & Mdata & ",☆集計!$C:$D,2,FALSE)," & Gai & "," & "Tai" & "))" コンパイルエラーとなりませんのが、実行しますと下記の様になります。 #NAME?となり、 式が =IF(ISERROR(VLOOKUP($E3824,☆集計!$C:$D,2,FALSE)),対象外,IF($D3824>=VLOOKUP($E3824,☆集計!$C:$D,2,FALSE),対象外,対象)) となり、対象、対象外が" "で括られません。 そこで、様々なサイトを参考にして下記の様にダブルクォートを重複して書きました。 ""対象""、""対象外""とすると赤字でエラーとなってしまいます。 Formula関数は、初めて使いますが、他の、単純な関数では成功しています。 どのようにすれば、通常の関数と同じ働きでインプットできるのか、ご教授して頂ければ有りがたく存じます。 よろしくお願いします。

  • VLOOKUP関数 エクセル関数教えてください

    =IF(ISERROR(VLOOKUP(B2,$E$1:$F$296,2,FALSE)),"",VLOOKUP(B2,$E$1:$F$296,2,FALSE)) という関数を入れて、品番をセルに入力して元表から品名を導く表を作成しました。うまく使えています。 これを元に =IF(ISERROR(VLOOKUP(B2,$F$1:$I$1000,2,FALSE)),"",VLOOKUP(B2,$F$1:$I$1000,2,FALSE)) という関数に直して、同じような表を作ろうとしたのですが、うまくいきません。 何が悪いのか分かりません。 どうすればうまくいきますでしょうか?

  • 関数について教えて下さい。

    =IF(ISERROR(VLOOKUP($A3,母日!$C$6:Y$40,23,FALSE)),"",VLOOKUP($A3,母日!$C$6:Y$40,23,FALSE)) の関数『6』『40』という数字を横にドラッグしただけでプラス44づづ増える関数式を教えてください。例えば、 =IF(ISERROR(VLOOKUP($A3,母日!$C$50:Y$84,23,FALSE)),"",VLOOKUP($A3,母日!$C$50:Y$84,23,FALSE)) =IF(ISERROR(VLOOKUP($A3,母日!$C$94:Y$128,23,FALSE)),"",VLOOKUP($A3,母日!$C$94:Y$128,23,FALSE))という具合です。 すみませんがお忙しいところスミマセン。宜しくお願い致します。

  • 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)

  • エクセルの関数の分かりやすい説明の仕方教えて下さい!!

    初心者にエクセルを教えることになりました。 関数をどう説明していいのか分からないので教えて 下さい。 (1)VLOOKUP   式は=VLOOKUP(B5,H5:J10,2,FALSE)で   B5は品番、H5:J10は商品一覧です。 (2)IF   式は=IF(E3>=180,"合格","不合格")    (3)IFを使う式で、エラーを防ぐ式(IFとVLOOKUP)   =IF(A5="","",VLOOKUP(A5,$G$5:$I$16,2,FALSE))    A5=品番  お願いします

  • Excelで、iserror関数を使用した結果は数値ではないのですか?

    ご質問させていただきます =IF(ISERROR(VLOOKUP(A2,$A$29:$F$40,3,FALSE)),"0",VLOOKUP(A2,$A$29:$F$40,3,FALSE)) という関数を作りました。 この際、エラーが表示される場合に、0に置き換える、という意味で この関数を作ったのですが 表示された 0 は ・表示がセル内で左詰になっている ・条件式書式で「セルの値が 0 のときに フォント色を白」  という条件をつけても、フォント自体は白にならない という2点から、0は数値ではなく文字として認識されている、と自分なりに捉えました。 しかし、疑問に思ったのは、 ・表示された 0 を引用した数式は成り立つ (たとえば、A1の値をIserrorで表示したときに0が出て、A2が2の場合  B1の数式を、 =A1+A2  とすると、2が表示される) ということから、数式を作ると数値として認識される、ということです。 この関数でセルに表示された "0" は、文字として認識されるのでしょうか? それとも数値として認識されるのでしょうか? ちなみに、自分は、0を表示させずに {条件式書式を使用したいと考えています。} さらにそのセルの値をさらに別の数式に反映させたいです。 なので、一番上に表示した数式の "0" の部分を "" にしてしまいたくないのです。(空欄表示の場合は、完全に次の数式に反映できず、このセルの値 {この場合は空欄} を引用した数式の値は #VALUE と表示されました) どなたか詳しい方、ご回答よろしくお願いいたします。

  • #N/Aを消そうとすると正常時も消えます

    Excelの関数使用で困っています。 下記2行はどちらも「調査あり」となるべきなのですが、#N/Aを消すために2行目のようにISERROR関数を加えると空白になってしまいます。 何が間違っているのでしょうか? ご教示いただけると助かります。 よろしくお願い致します。 =IF(VLOOKUP($C20,INDIRECT($K$1&"!$B$2"):INDIRECT($K$1&"!G$122"),6,FALSE)=$B20,"調査あり","") =IF(ISERROR(VLOOKUP($C20,INDIRECT($K$1&"!$B$2"):INDIRECT($K$1&"!G$122"),6,FALSE))=$B20,"調査あり","")

  • Excel 2データをぶつけて重複しないものを抽出

    Excelに詳しくありませんので、 詳しく教えて頂けると助かります。 2つのデータをぶつけて、 重複しないものを抽出する方法を教えてください。 他の質問サイト等でもみたのですが、      VLOOKUPを設定して、      =IF(ISERROR(VLOOKUP(A1,[ブック2.xls]Sheet1!$A$1:$B$5,1,FALSE)),"*","") このあたりに関しても意味が分かりません。。。 どうぞよろしくお願いいたします。

  • VLOOKUPのエラーについて

    教えて下さい。 =IF(ISERROR(VLOOKUP($B3,Sheet2!$A$2:$D$35,4,FALSE)),"",VLOOKUP($B3,Sheet2!$A$2:$D$35,4,FALSE))+IF(ISERROR(VLOOKUP($B3,Sheet3!$A$2:$C$50,3,FALSE)),"",VLOOKUP($B3,Sheet3!$A$2:$C$50,3,FALSE)) という数式を使っています。 最初のIF文(Shee2)については有効なのですが、それならと、欲張って他のシートも参照できるように、+の後にIF文(Sheet3)を追加したら#VALUE!が表示されます。 何がいけないのでしょうか?

専門家に質問してみよう