初めて質問いたします。
以下の表を別シートで検索して価格を表示させたいのですが、
顧客番号が重複により、表示させたい価格が出せません。
------------------------------------
例:シート1
A B C D
1 顧客番号_会社名_商品_価格
2 01_A社__テレビ_5,000
3 01_A社__モニタ_2,000
4 02_B社__テレビ_5,000
5 03_C社__テレビ_5,000
:
:
------------------------------------
シート2
B2に以下の式を入れています。
=VLOOKUP($A2,シート1!$A$2:$D$5,4,0)
A B
1 顧客番号_価格
2 01_5,000
3 01_5,000 ←ここを、2,000と表示させたい。
------------------------------------
わかる方がおりましたら、ご教示ください。
よろしくお願いいたします。
No.2
- 回答日時:
分かり易くしかもデータが多くなっても計算に負担のかからない方法は作業列を使って対応する方法です。
また、顧客番号を例えばシート2にA1セルに入力することでシート2のA列に顧客番号を予め並べることもなくすべてのデータを自動的に表示することができます。
シート1のA列からD列の1行目は項目名で2行目から下方にデータが有るとしてE2セルには次の式を入力して下方にドラッグコピーします。
=IF(A2="","",A2*1000+COUNTIF(A$2:A2,A2))
なお、A列のデータが数値でない場合には次のような式でもよいですね。
=IF(A2="","",A2&COUNTIF(A$2:A2,A2))
ここでは先の式で対応することにします。
そこでシート2ではA1セルに検索抽出したい顧客番号を入力します。
A2セルには顧客番号、B2セルには価格と入力します。
A3セルには次の式を入力してB3セルまでドラッグコピーしたのちに下方にもドラッグコピーします。
=IF(COUNTIF(Sheet1!$E:$E,$A$1*1000+ROW(A1))=0,"",IF(COLUMN(A1)=1,INDEX(Sheet1!$A:$A,MATCH($A$1*1000+ROW(A1),Sheet1!$E:$E,0)),IF(COLUMN(A1)=2,INDEX(Sheet1!$D:$D,MATCH($A$1*1000+ROW(A1),Sheet1!$E:$E,0)),"")))
これでA1セルに入力された顧客番号のデータが自動的に表示されます。
回答いただきありがとうございます。
私が行おうとしている事と、少し違っていました。
ですが、今後の参考にしたいと思います!
お時間をいただきありがとうございます。
No.1ベストアンサー
- 回答日時:
こんばんは!
VLOOKUP関数の「FALSE」型は完全一致する最初のデータしか検索できませんので
他の関数を使用します。
普通は「顧客番号」が「01」をすべて表示!といった使い方が多いと思うのですが、
今回はSheet2のA列に顧客番号を入力すると表示された順に価格を表示したい!
というコトですね?
一例です。
↓の画像でSheet2のB2セルに
=IF(A2="","",INDEX(Sheet1!$D$1:$D$1000,SMALL(IF(Sheet1!$A$1:$A$1000=A2,ROW($A$1:$A$1000)),COUNTIF($A$2:A2,A2))))
これは配列数式になってしまいますので、Shift+Ctrl+Enterで確定します。
この画面からコピー&ペーストする場合はB2セルに貼り付け後、数式バー内で一度クリック!
編集可能になりますので、Shift+Ctrlキーを押しながらEnterキーで確定!
数式の前後に{ }マークが入り配列数式になります。
これをオートフィルで下へコピーすると画像のような感じになります。
※ 条件として、Sheet1の顧客番号数より多くを入力するとエラーになってしまいます。
参考になりますかね?m(_ _)m
回答いただきありがとうございます。
とても参考になりました!
そこで、再度質問なのですが、
(Sheet1!$A$1:$A$1000=A2,ROW($A$1:$A$1000)
↑ここの部分は、どのような意味なのでしょうか??
重ね重ね申し訳ございません。
よろしくお願いいたします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) EXCEL関数LOOKUPとFILTERについての質問です 1 2022/12/21 05:53
- Excel(エクセル) excelで検索した商品の画像(ネットワーク上の)を表示させたい。 3 2023/06/28 00:32
- Excel(エクセル) 【Excel関数】値が合致するセルの隣のセルを表示させたい 8 2022/10/12 17:44
- Visual Basic(VBA) ユーザーフォーム「frm_基本❶」を立ち上げると新規で入力する行数を右下のNoとして表示しています。 1 2023/03/16 19:02
- 経営情報システム accessでの請求管理について 12 2022/06/11 16:20
- Visual Basic(VBA) VBAで最新のデータを別シートに転記する方法をお教えください。 3 2022/04/07 19:20
- Visual Basic(VBA) VBAコードで質問があります 2 2022/10/20 15:27
- Visual Basic(VBA) ユーザーフォームの表示を追加したい 2 2023/03/26 23:18
- Excel(エクセル) Excel関数 情報引用する方法 4 2022/07/31 20:59
- Excel(エクセル) VLOOKUP が機能しない、その原因は何 ? 8 2022/10/19 12:06
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルでの作業計算方法について
-
はがきについて。
-
エクセル 文字を増やしたい。
-
セルの内容表示が邪魔になる
-
Microsoft365に変えたのですが...
-
エクセルの計算
-
Microsoft1Officeの互換ソフト...
-
【マクロ】その時、その時で変...
-
【マクロ】読取専用のファイル...
-
エクセル初心者です 関数の入れ...
-
Excel ピボットテーブルで日付...
-
【関数】適切な文字数の数字を...
-
LOOKUP関数を使えばいいのでし...
-
Aというブックの1というシート...
-
エクセル関数を教えてください
-
Excelのチェックボックスの使い...
-
エクセル 白黒印刷で白線を印刷...
-
時間によってファイル名が変わ...
-
WPS OFFICEでの縦書きについて
-
エクセルの条件付き書式につい...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel 2019 のピボットテーブル...
-
[関数得意な方]教えて下さい・...
-
Excelにてある膨大なデータを管...
-
[関数について]わかる方教えて...
-
Excel初心者です。 詳しい方、...
-
excelの不要な行の削除ができな...
-
エクセル関数に詳しい方教えて...
-
INDIRECTを使わず excelで複数...
-
[オートフィルタ]で抽出された...
-
エクセルの神よ、ご回答を! エ...
-
エクセル関数に詳しい方、教え...
-
各ページの1番上の表示について
-
Excelで写真のような表を作った...
-
エクセルで不等号記号(≠)が上に...
-
数学 Tan(θ)-1/Cos(θ)について...
-
Excel 2019 は、SPILL機能があ...
-
Excelで全角を半角にしたいので...
-
条件付き書式を教えてください
-
Excel フィルターを掛けた状態...
-
[オートフィルタ]の適用範囲の...
おすすめ情報