シート(1)
A B C D
作業列 コード 顧客名 金額
3 300001 A 10,000
3 300002 B 15,000
3 300003 C 20,000
3 300004 D 25,000
3 300005 E 30,000
4 400001 F 35,000
4 400002 G 40,000
4 400003 H 45,000
4 400004 I 50,000
4 400005 J 55,000
シート(2)
A B C D E F
「1」 「2」 「3」 「4」 「5」 「6」
10,000 35,000
15,000 40,000
20,000 45,000
25,000 50,000
30,000 55,000
※ シート(1)にコード、顧客名、金額を入力すると、シート(2)にあるように該当するコードの先頭行の列に表示するようにしたいと思っています。
シート1で作業列を作りその作業列を基にシート2でVLOOKUP関数を使い‥シート2の10,000のセルの場合、
VLOOKUP(C$2,sheet1!$A$3,$D$12,4,false)として、下にコピーすると同じ金額になってしまいます。
セルが空白にならず、シート1の金額が上から順番にシート2に表記されるようにするにはどうしたらよいでしょうか。マクロはできませんので、関数で詳しく教えて下さい。宜しくお願いします。
No.2ベストアンサー
- 回答日時:
やりたいことは、コードの左一桁が横列、右一桁が縦行に分けたいということでしょうか?
Vlookup関数は、条件があった最初のデータしかでません。
シート1が
作業列 コード 顧客名 金額
31 300001 A 10,000
32 300002 B 15,000
33 300003 C 20,000
34 300004 D 25,000
35 300005 E 30,000
41 400001 F 35,000
42 400002 G 40,000
43 400003 H 45,000
44 400004 I 50,000
45 400005 J 55,000
シート2が
1 2 3 4 5
1 #N/A #N/A 10000 35000 #N/A
2 #N/A #N/A 15000 40000 #N/A
3 #N/A #N/A 20000 45000 #N/A
4 #N/A #N/A 25000 50000 #N/A
5 #N/A #N/A 30000 55000 #N/A
でよければ
シート1のA列は =LEFT(B2,1)&RIGHT(B2,1) 下フィル
シート2に A列、1行目は文字列にして 1,2,3・・・
B2には =VLOOKUP(B$1&$A2,Sheet1!$A$1:$D$11,4,FALSE)
右フィル、下フィルで出来ます。
VLOOKUP(B$1&$A2・・の$マークに注意してください。フィルした後の式を確認するとわかりやすいと思います。
ありがとうございました。
A列の文字列を000~999にして重複がないよう検証しています。
また、中には一部不規則なものがありますので、それは手作業でもよいのかなと思っています。本当にありがとうございました。
No.3
- 回答日時:
既回答者は早く質問の意味が判ったようだが、私は苦労した。
列などはOKWAVE画面で崩れていることもわかり難い。質問の書き方に実例+説明文の説明文が無いためわかり難いと思う。私は推定も入ってやや一般化してみた。
ーーー
私の表現なら
「コード」列の30万、40万などの先頭桁が変わるごとに、別場所に、30万、40万などの列を分けて、縦方向にに30万台、40万台だけの明細行の金額を並べたい。
ーー
例データ
A列 B列 C列 D列
番号金額300
300001A10,000300
300002B15,000301
300003C20,000302
400001F35,000400
400002G40,000401
400003H45,000402
400004I50,000403
400005J55,000404
500001ー1,000500
510003ー3,000501
510005ー5,000502
530006ー15,000503
550007ー16,000504
570008ー17,000505
590009ー18,000506
590010ー19,000507
590011ー20,000508
元の作業列(A列)は使わず、上記では削除、D列に作業用データを使った。
B列は本質問に関係ないと考慮してない。
D1の300はスタートの値として必要。
上記は例えば30万台が2桁以上の数あってもOKのように考えた。
D列D2セルの式は =IF(LEFT(A2,1)=LEFT(A1,1),D1+1,LEFT(A2,1)*100)
下方向に式を複写。
結果上記の通り。
便宜上、第21行目からA21:C32
359
10000350001000
15000400003000
20000450005000
5000015000
5500016000
17000
18000
19000
20000
ーーー
A21行に=SUMPRODUCT(($A2:$A18>(COLUMN()+2)*100000)*($A2:$A18<(COLUMN()+3)*100000)*1)
と入れてC21まで式を複写。結果は上記。
A22に式 =IF(ROW()-21>A$21,"",INDEX($A$2:$C$19,MATCH((COLUMN()+2)*100+ROW()-22,$D$2:$D$19),3))
と入れて、A32まで式を複写、A22:A32の式をC22:C32に複写。
結果
上記の通り。
ーー
もし上記で質問の主旨が合っているなら、この質問は関数の問題としてパズル的に難しい部類でしょう。
VBAなどを使えばこんなにごちゃごちゃすることは無い。関数は並べ替え、抜き出しなどは不得手なテーマです。作業列を使うことを許されたが、聡でないとまたぐっと難しくなろう。
No.1
- 回答日時:
VLOOKUP関数の引数としてC$2を指定しているようですが
行を固定した場合、下方向へコピーしても金額は同じになると思います。
一度$を取って、お試しください。
勘違いでしたらご容赦ください。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) Excel_マクロ_複数のシートのVLOOKUPで表示された#N/A以外に色付けをしたいです 1 2023/02/16 22:37
- Visual Basic(VBA) Excel VBA 最終行を取得しVlookup関数をコピーする方法をコーディングで教えてください。 3 2023/05/11 13:14
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/08/03 11:27
- Excel(エクセル) excelで検索した商品の画像(ネットワーク上の)を表示させたい。 3 2023/06/28 00:32
- Excel(エクセル) エクセル 指定セル繰り返しマクロ 4 2022/06/06 17:08
- Excel(エクセル) 【Excel関数】値が合致するセルの隣のセルを表示させたい 8 2022/10/12 17:44
- Excel(エクセル) ユーザー定義について質問です。 2 2023/06/28 13:21
- Excel(エクセル) Excelにて、行の最後のセルの値をコピーして別sheetに張りつけるVBAコードをご教授願います 3 2022/11/20 14:35
- Excel(エクセル) 【マクロ】マクロが保存されているエクセルとは、別のエクセルブックの全シートの非表示列を再表示したい 1 2022/12/24 20:48
- Visual Basic(VBA) VBA 改行コードの取り方 1 2022/03/22 14:14
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【関数】スペースがいくつ入っ...
-
西暦や和暦の表示をyyyymmdd表...
-
【Microsoft Office Excel Comp...
-
Excelはなんで先頭の0を消すん...
-
Excelのセルを飛ばして入力する
-
別シートからの文字を変更
-
エクセルの行の抽出について質...
-
Excelのオートフィル
-
Excel 2019 のピボットテーブル...
-
スプレッドシート クエリ関数 1...
-
excelの不要な行の削除ができな...
-
Excel初心者です。 詳しい方、...
-
【Excel】セル内の時間帯が特定...
-
Excel初心者です。 詳しい方、...
-
EXACT関数とIF関数の組み合わせ...
-
Excelのグラフ軸について
-
スマートな関数を教えて下さい。
-
Excelで全角を半角にしたいので...
-
【マクロ】エクセルにかいてあ...
-
Excel:一部のフォントでセルの...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ファイル内にある数字の出現回...
-
Excel関数の先頭に「@」が入っ...
-
エクセルの気味悪い不思議
-
Excel VBAで、実行時にsheet上...
-
表示されている人数だけを数え...
-
他人が作ったマクロの理解
-
Excelの関数について質問です。
-
Excel 集計表
-
エクセル 日時の計算式について
-
Excelの関数に関して質問です。...
-
エクセル:セル内の文字列の下...
-
絞り込み検索
-
エクセルの関数で
-
エクセルの書式設定について教...
-
余分なEXCELファイルに印刷され...
-
VBA 同一シート内での転記の仕方
-
長期休みの関数はありますか
-
Excelの空のセル
-
エクセルで入力してある文を別...
-
Excelのマクロで、セルを結合し...
おすすめ情報