- ベストアンサー
Excel関数Lookupで幅のある数字を検索する方法
- ExcelのLookup関数を使用して、幅のある数字を検索する方法を教えてください。
- テーブルの検査範囲に幅を持たせて、その幅の範囲内に検査値が該当した場合に、Lookup関数を使用してB列のセルに1~3までの数値を反映させたいです。
- データが5000以上あるため、関数を使用して実行したいと考えています。具体的な手順を教えてください。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
例えばテーブルをシート2に作るとしてA2セルには0、A3セルには0.31、A4セルには0.51のように入力し、B2セルには1、B3セルには2、B4セルには3と入力します。 その上でシート1のA1セルから下方に検査値が入力されているとしたらB1セルには次の式を入力して下方にドラッグコピーします。 =IF(A1="","",VLOOKUP(A1,Sheet2!A:B,2,TRUE))
その他の回答 (2)
- keithin
- ベストアンサー率66% (5278/7941)
添付図のように、例えばD:F列に対応表を準備します。 B2には =IF(A2="","",VLOOKUP(A2,D:F,3)) と記入し、以下コピーしておきます。 VLOOKUP関数の「第4引数」を記入しない使い方で使うので、間違えないよう注意してください。 #参考 対応表のE列は、見た目のために用意しているだけで実際には計算には使っていません。 現実には、たとえば検査値としてたまたま「0.305」なんて数字が来てしまった場合、「以上~以下」じゃ正しくありませんね? 本来こういうのは「以上~未満」で区分けをするべき所で、寄せられた回答はいずれもそういう前提です。
お礼
ご回答ありがとうございます。 とても丁寧な回答で大変分かりやすかったです。 まだ別のやり方があるんですね! とても勉強になりました。
- -9L9-
- ベストアンサー率44% (1088/2422)
求める値が3種類しかないならIF関数のほうが簡単で面倒がないと思いますが、いちおうLookup関数(vlookup())でやる場合のことを言えば、4番目の引数(検索の型)にTRUEを指定すればいいということになります。具体的な処理方法については次のサイトを参照。 http://kokoro.kir.jp/excel/vlookup-true.html
お礼
ご回答ありがとうございます。 なるほど、VLOOKUP関数を使うんですか!! 参考URLに参考になりました! 誠にありがとうございました。
お礼
ご回答ありがとうございました! 具体的な式も教えていただきましてありがとうございます。 希望の結果が出ました! 大変ありがとうございました!