
VLOOKUP関数を短くしたいのですが可能でしょうか?
【例】
A B C D
1 1 動物 1 いぬ
2 2 ねこ
3 2 果物 1 りんご
4 2 みかん
5 3 車 1 ホンダ
6 2 JEEP
7 4 国 1 日本
8 2 アメリカ
9 5 色 1 あお
10 2 あか
11 6 菓子 1 チョコ
12 2 パイ
13 7 飲物 1 ビール
14 2 お茶
の表があるとき
例えば
B20のセルに 5 色
B21のセルに 2 あか
というようにしたいのですが
やはり「IF」を使って長い数式にしかならないでしょうか?
C列の数値は連番に出来ないのです。
連番に出来れば問題無いのですが…。
どうかよろしくお願い致します。
No.1ベストアンサー
- 回答日時:
もし、ワークシートの表中に列を新たに挿入することができれば、方法はあります。
C列とD列の間に、1列挿入します。各セルに、「=A1&C1」、「=A1&C2」、「=A3&C3」・・・と入力します。
すなわち、新たに各項目を示す連番を作成させます。
今までのD列の内容はE列になっていますので、A20にA列の数値を入れるとすると、B20には「=VLOOKUP(A20,A1:B14,2,FALSE)」、A21に小項目(C列)の数値を入れるとすると、B21には「=VLOOKUP(A20&A21,D1:E14,2,FALSE)」で、それぞれ表示したい項目名が表示されます。
ご質問はこういうことで解決されますでしょうか?
No.4
- 回答日時:
やっとVLOOKUPで出来ました。
偶々運良くDIRECTが使えて実現しました。
(テストデータ)A1:D9
5色1黄
2赤
4紺
6菓子1チョコ
3飴
6クッキー
7飲み物1ビール
3焼酎
5清酒
(入力)E1に大分類コードを入力する。
E3に小分類コードを入力する。
(表示)E2に大分類コードを表示する。
E4に小分類コードを表示する。
(関数式)E2に=VLOOKUP(E1,A1:B9,2,FALSE)
F1(どこでも良いが)に
="C"&MATCH(E1,A1:A9,0)
E4に=VLOOKUP(E3,INDIRECT(F1):D9,2,FALSE)
F1とE4の式がポイントです。
例えばE1に7でE2に飲み物、E3に5でE4に清酒と出ます。
●質問が「VLOOKUP関数を短くしたいのですが」では回答者
が集まらないと思う。Vlookup関数を使うことを当然視しているが、回答者の創意工夫に任せるべきです。たまたま私の回答はVlookupですが。
この質問のタイプ・表題は、私なら「多(2)段検索」とでも名付けます。
imogasiさんありがとうございます。
関数の知識が少ないのでVLOOKUP
しか浮かびませんでした…。
また機会がありましたらよろしくお願い致します。
No.3
- 回答日時:
bucchi-さん こんばんは。
B20に 5 と入れるとC20に 色
さらにB21に 2 といれるとC21に あか と出したいなら、こういう方法もあります。
C20にはvlookupでできますよね
=VLOOKUP(B20,A1:B14,2,0)
C21は
=INDIRECT(ADDRESS(B20*2+B21-2,4))
これはvlookupと違ってセル位置で計算しています。
元の式は
=INDIRECT(ADDRESS(B20*2-1+B21-1,4))
です。
ADDRESS関数でセル番地(行番号、列番号)を取得し、INDIRECT関数でそのセルの値を取得しています。
tbobiさんありがとうございます。
INDIRECT ADDRESS関数
勉強になりました。
今後の参考にさせていただきます。
ありがとうございました。
No.2
- 回答日時:
こんばんは
>C列の数値は連番に出来ないのです。
この意味が C列通しでは連番とできないが
例のように 項目別には連番となっているのであれば
B20に A列番号入力
C20に式 =VLOOKUP(B20,$A$1:$B$14,2,0)
B21に C列番号入力
C21に式
=IF(AND(B21>0,COUNTA(INDEX($B$1:$B$14,MATCH(B20,$A$1:$A$14,0)):INDEX($B$1:$B$14,MATCH(B20,$A$1:$A$14,0)+B21-1))=1),INDEX($D$1:$D$14,MATCH(B20,$A$1:$A$14,0)+B21-1),"")
B21に合致しない数値を入力した時のエラー回避式は
だけは組込んであります。(C21の前半の2/3はそのための式です)
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/01/26 09:50
- Excel(エクセル) 表示形式、文字列セル(列)に数式を入力するには マクロ 1 2022/09/18 10:53
- Excel(エクセル) ある数値に対して、値を返す数式についてです 2 2022/09/13 22:06
- Excel(エクセル) エクセルで値ではなく関数を参照する方法 6 2023/03/19 00:50
- Excel(エクセル) エクセルでIF関数中にIFERROR関数を使いたいのですが???? 5 2022/04/08 13:24
- Excel(エクセル) エクセル関数のXlookupのフィルハンドル機能(類した機能でも可)を知りたいです。 3 2022/09/20 20:02
- Excel(エクセル) VLOOKUP が機能しない、その原因は何 ? 8 2022/10/19 12:06
- Excel(エクセル) Excelの関数について教えてください。 5 2023/07/28 11:27
- Excel(エクセル) 【再度】Excelの関数について教えてください。 4 2023/07/28 13:06
- Excel(エクセル) K14のセルにVlookup関数を使い IF(J14="","",VLOOKUP(J14,$B$4: 2 2023/05/17 20:26
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
特定のセルだけ結果がおかしい...
-
エクセルのdatedif関数を使って...
-
エクセルのVBAで集計をしたい
-
【マクロ】【配列】3つのシー...
-
vba テキストボックスとリフト...
-
エクセル ドロップダウンリスト...
-
【関数】同じ関数なのに、エラ...
-
Office2021のエクセルで米国株...
-
【マクロ】列を折りたたみ非表...
-
9月17日でサービス終了らし...
-
【マクロ】アクティブセルの時...
-
ページが変なふうに切れる
-
【条件付き書式】シートの中で...
-
【マクロ】3行に上から下に並...
-
【マクロ】オートフィルターの...
-
【マクロ】EXCELで読込したCSV...
-
【画像あり】オートフィルター...
-
他のシートの検索
-
エクセルの循環参照、?
-
Excelファイルを開くと私だけVA...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
9月17日でサービス終了らし...
-
エクセル
-
【マクロ】WEBシステムから保存...
-
エクセルの循環参照、?
-
エクセル ドロップダウンリスト...
-
エクセルのdatedif関数を使って...
-
特定のセルだけ結果がおかしい...
-
【マクロ】A列にある、日付(本...
-
【マクロ】EXCELで読込したCSV...
-
【マクロ】アクティブセルの時...
-
【エクセル】期限アラートについて
-
iPhoneのExcelアプリで、別のシ...
-
【関数】同じ関数なのに、エラ...
-
Excelの新しい空白のブックを開...
-
【マクロ】3行に上から下に並...
-
【マクロ】宣言は、何のために...
-
VBA チェックボックスをオーバ...
-
Excelについての質問です 並べ...
-
【マクロ】アクティブセルの2...
-
【関数】不規則な文章から●●-●●...
おすすめ情報