関数について質問です。
例えばひとつのエクセルで、
A列 顧客名
B列 商品
C列 シリアルナンバー
D列 金額
というシートがあったとします。こちらをシート①とし、金額には請求額が入ります。
一方、シート②という別のデータがあり、項目はシート①と同じものの、金額には入金額が入ります。
要は、同じ項目で「請求額」ベースのものと「入金額」ベースのものがあるわけですが、このシート①にシート②をマッチアップさせることは関数で可能でしょうか?
項目が少なければVlookupを使えるのはわかっていますが、これだけ項目が多い時の方法がわかりません。
ご存知の方、ご教示頂けると助かります。
宜しくお願いします。
A 回答 (5件)
- 最新から表示
- 回答順に表示
No.5
- 回答日時:
マッチアップさせるというのはどういう意味でしょうか?
①請求額の横に入金額を表示させたい
②入金額の横に請求額を表示させたい
③別のシートに請求額入金額両方含む表を表示させたい
④その他
自分がやるなら、
E1=A1&"-"&B1&"-"&C1
といった感じでIDの列を作ります。
データの詳細はわかりませんが、別々の人が同じA-00001を買う場合もあると思います。
同様に同じ人が別の日に同じA-00001を買う場合もあると思います。(この場合日付を入れたセルも&"-"&で繋げなければなりません。
シリアルナンバーというのが、その商品の何個目か、を表しているのであれば、これらは不要なので、
E1=B1&"-"&C1
でかまわないです。
そしてできればこれをA列の左に新しく列を挿入して表示させて欲しいです。
(というか、表を作った時点でIDの列を一番左端に作っておくべきです)
そうできるのであれば、これを用いてVLOOKUPで簡単に検索できます。
表の形は変えられえない、という方が多いので、
別のシートのA列をIDとして、そのB列には元データのC列、C列には元データのD列、という風に表示させ、VLOOKUPを使うとか、
MATCHによってIDの列(この例の場合E列)の何行目に一致するものがあるかを検索し、
INDIRECTで該当するシート、列、およびMATCHによって求まる行、を指定し、そのセルのデータを表示する。
という方法を使うとか、
で表示させる事は可能です。
ID列を検索する際には、検索値も&"-"&を用いた形にしてくださいね。
重複する恐れがないのであれば、数値なら(この場合金額なので可能)SUMIFSを使っても表示できるかとは思います。
重複する恐れがない=一致するものは表示させたい1つだけ=合計に等しい。ということです。
No.4
- 回答日時:
ANo2です。
補足を読ませていただいた限りでは、業務の方法を見直しなさった方が良いように感じました。
理由は、
『仮にシリアルと商品の両方がマッチしていたとしても、それが、正しいマッチである保証はなさそう』
だからです。
そのような方法で自動化してしまうと、気付かないうちに間違えのもとを作っているようなものと言えます。
門外漢の私が言うのは大変差し出がましいですが、是非とも個別の「取引番号」(= 一意の番号)のようなものを設定することにして、それに基づいた処理をなさるようにされた方がよいのではと思います。
No.3
- 回答日時:
シート2にマッチングキーを作る必要が有ります。
E列に=B2&C2 ←マッチングキー :下までコピー
F列に=D2←入金額 :下までコピー
シート1のE列にVLOOKUP関数を入れる
=VLOOKUP(B2&C2,Sheet2!$E$2:$E$○○,2,FALSE) 下までコピー。
Sheet2は実際のシート名
○○はSheet2の最終行
No.2
- 回答日時:
こんにちは
顧客名、商品、シリアルナンバーのいずれかが個々のデータの識別に利用できるのであれば、普通にVLOOKUPで照合可能ではないでしょうか?
>これだけ項目が多い時の方法がわかりません。
項目は4項目で、金額の項目(=1項目)が参照できればよいのですよね?
VLOOKUPの第三引数が、参照して返す項目(=列の番号)を意味しますので、これを正しく指定すればよさそうに思いますが…
https://support.office.com/ja-jp/article/VLOOKUP-関数-0BBC8083-26FE-4963-8AB8-93A18AD188A1
(URLが分解されてしまうみたいなので、つなげてください)
または以下から。
ttps://support.office.com/ja-jp/article/VLOOKUP-関数-0BBC8083-26FE-4963-8AB8-93A18AD188A1
あるいは、個別に識別できる項目が無いので、「顧客名、商品、シリアルナンバー」の全部が一致するデータを探して、参照したいという意味のご質問なのでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBAで、1つのエクセルで、2つのシートからもう1つのシートに条件のある転記コードを教えてください。 1 2023/03/16 18:07
- Visual Basic(VBA) 【VBA】指定した検索条件に一致したら別シートに転記したい 2 2022/03/23 16:14
- Excel(エクセル) エクセルシートのデータを1列飛ばしで別ブックのシートに貼り付けるマクロが知りたい 2 2023/06/05 22:37
- Excel(エクセル) エクセルのフィルターを複数シートに連動させたいです。 エクセルファイルに15シートあります。 そのう 2 2022/05/01 21:47
- Excel(エクセル) エクセル関数について 2 2022/04/13 18:25
- Visual Basic(VBA) VBAを使いシート間で貼り付け 3 2023/03/14 20:53
- Excel(エクセル) 【エクセル」 特定のセルで条件抽出した列を、別シートに上から詰めて表示したい。 8 2022/04/08 16:00
- Excel(エクセル) VBA セルの値と同じ名前のシートにデータを貼り付けするやり方を教えてください 2 2022/05/17 16:26
- Excel(エクセル) Excelで、別シートの表のステータスに伴った動的な自動転記をしたいです。 2 2023/06/14 15:56
- Excel(エクセル) VBAで、シート間の転記するコードを教えてください。 4 2023/03/26 10:43
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excelはなんで先頭の0を消すん...
-
Excel元に戻す方法を教えてくだ...
-
【Microsoft Office Excel Comp...
-
Excelが固まってしまった。
-
西暦や和暦の表示をyyyymmdd表...
-
Excel 2019 のピボットテーブル...
-
【関数】スペースがいくつ入っ...
-
【Excel】セル内の時間帯が特定...
-
excelの不要な行の削除ができな...
-
Excelのオートフィル
-
別シートからの文字を変更
-
Excelのセルを飛ばして入力する
-
Excel初心者です。 詳しい方、...
-
エクセルの行の抽出について質...
-
Excel初心者です。 詳しい方、...
-
【マクロ】エクセルにかいてあ...
-
EXACT関数とIF関数の組み合わせ...
-
スプレッドシート クエリ関数 1...
-
エクセルで指定した日付、店舗...
-
Excelのグラフ軸について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ファイル内にある数字の出現回...
-
Excel関数の先頭に「@」が入っ...
-
エクセルの気味悪い不思議
-
Excel VBAで、実行時にsheet上...
-
表示されている人数だけを数え...
-
他人が作ったマクロの理解
-
Excelの関数について質問です。
-
Excel 集計表
-
エクセル 日時の計算式について
-
Excelの関数に関して質問です。...
-
エクセル:セル内の文字列の下...
-
絞り込み検索
-
エクセルの関数で
-
エクセルの書式設定について教...
-
余分なEXCELファイルに印刷され...
-
VBA 同一シート内での転記の仕方
-
長期休みの関数はありますか
-
Excelの空のセル
-
エクセルで入力してある文を別...
-
Excelのマクロで、セルを結合し...
おすすめ情報
複雑なところなのですが、商品A、B、C、Dがあるとして、シリアル#はいずれも同じというケースがあります。要は、商品A-00001、商品B-00001、商品C-00001、商品D-00001ということなので、単純にシリアル#ではマッチング出来ません。また、商品が同じでシリアルは違う、というケースもあるので、A-00002もありますし、A-00003も存在します。
つまり、まずはシリアルがマッチングコードになりますが、加えて商品も同じであれば、その値を返す、というものが必要になります。このような説明でわかりますでしょうか?