Page 2 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 通常モードに戻る ┃ INDEX ┃ ≪前へ │ 次へ≫ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ▼EXCELの検索関数について教えてください。 にくしま 02/8/27(火) 16:29 ┣Re:EXCELの検索関数について教えてください。 角田 02/8/27(火) 16:45 ┗Re:EXCELの検索関数について教えてください。 JuJu 02/8/27(火) 18:41 ┗Re:EXCELの検索関数について教えてください。 りん 02/8/28(水) 9:22 ┗Re:EXCELの検索関数について教えてください。 にくしま 02/8/28(水) 12:07 ┣Re:EXCELの検索関数について教えてください。 死馬骨 02/8/28(水) 12:29 ┗Re:EXCELの検索関数について教えてください。 こうちゃん 02/8/28(水) 12:43 ┗Re:EXCELの検索関数について教えてください。 にくしま 02/8/28(水) 16:39 ─────────────────────────────────────── ■題名 : EXCELの検索関数について教えてください。 ■名前 : にくしま ■日付 : 02/8/27(火) 16:29 -------------------------------------------------------------------------
はじめて質問させて頂きます。 VBAの質問というより、EXCELの関数についての質問なのですが・・・。 例えば、IF(B4=D4:F32,"OK","NG")と 言うように複数範囲を検索するにはどうすれば良いのでしょうか。 上記の例で行うと、エラーにはなりませんが全てNGで返ってきて しまいました。 EXCELの関数ではこういった検索はできないのでしょうか? なるべくならマクロを組まないで行いたいと思っています。 何か、いい関数があれば教えてください。 よろしくお願い致します。 |
こんにちは >例えば、IF(B4=D4:F32,"OK","NG")と >言うように複数範囲を検索するにはどうすれば良いのでしょうか。 >なるべくならマクロを組まないで行いたいと思っています。 「日経PC21」でやってる、芳坂さんの『配列数式講座』が 参考になるかと思います。 http://pc21.nikkeibp.co.jp/pc21/index.html |
にくしまさん、角田さん、こんにちはぁ >例えば、IF(B4=D4:F32,"OK","NG")と >言うように複数範囲を検索するにはどうすれば良いのでしょうか。 >上記の例で行うと、エラーにはなりませんが全てNGで返ってきて >しまいました。 >EXCELの関数ではこういった検索はできないのでしょうか? COUNTIF(D4:F32,B4) で一致する数で比較というのはどうでしょうか? ではではぁ |
にくしまさん、角田さん、JuJuさん、おはようございます。 JuJuさんの補足になります。 >>例えば、IF(B4=D4:F32,"OK","NG")と >>言うように複数範囲を検索するにはどうすれば良いのでしょうか。 >>EXCELの関数ではこういった検索はできないのでしょうか? >COUNTIF(D4:F32,B4) で一致する数で比較というのはどうでしょうか? CountIfとIfを組み合わせて。 =IF(COUNTIF(D4:F32,B4)>0,"OK","NG") という式にすればおっけー |
こんにちは。皆様、回答ありがとうございます。 そして、ゴメンナサイ。質問のしかたが悪かったので もう少し具体的に質問させていただきます。 やりたいことはVLOOKUP関数に近いです。 「検索キーと検索範囲を指定してセルの値を取得する。」 ということをしたいのですが、VLOOKUPだと「検索範囲の 左端の列が検索キーと一致した場合」に限られてしま うので困っています。 =VLOOKUP(A1,'sheet2'!$A$1:$D$20,2,FALSE) とやった場合は、A1とsheet2のA列のどこかが一致すれば B列のセルの内容を返しますよね。 でも、A1とsheet2のB列のどこかが一致して、A列のセルの 内容を返すって事はできないので、A列の前にB列をコピペ してVLOOKUP関数を使用する・・・・という、美しくないことを してしまっています。 これを解決できる検索関数を探しているのですが見つかりません。 何か良い解決策があれば教えてください。 質問の仕方が悪くてお手間をおかけしてしまった事をお詫び致します。 よろしくお願い致します。 |
こんちゃ こんなんでどうかなぁ =IF(ISNA(MATCH($A1,Sheet2!$B:$B,0)),"--",INDEX(Sheet2!$A:$A,MATCH($A1,Sheet2!$B:$B,0))) |
にくしま さん、みなさん、こんにちは >やりたいことはVLOOKUP関数に近いです。 >「検索キーと検索範囲を指定してセルの値を取得する。」 >ということをしたいのですが、VLOOKUPだと「検索範囲の >左端の列が検索キーと一致した場合」に限られてしま >うので困っています。 > >=VLOOKUP(A1,'sheet2'!$A$1:$D$20,2,FALSE) >とやった場合は、A1とsheet2のA列のどこかが一致すれば >B列のセルの内容を返しますよね。 >でも、A1とsheet2のB列のどこかが一致して、A列のセルの >内容を返すって事はできないので、A列の前にB列をコピペ >してVLOOKUP関数を使用する・・・・という、美しくないことを >してしまっています。 これでどうでしょ? =LOOKUP(A1,Sheet2!$B$1:$B$20,Sheet2!$A$1:$A$20) |
死馬骨さん、こうちゃんさんありがとうございます。 おかげさまで美しく解決できそうです。 返信くださった皆様、お騒が致しました。 また何かあったら質問させて頂きますので よろしくお願いします。 |