- 締切済み
品名と数量が合致したら、重量を表示したい
エクセルで、品名と数量が合致したら、重量を表示したいです。 (ex.) 品名:ヨーグルト500ML 1000PCS 100KGS →別シートに品名:ヨーグルト500ML 1000PCS と入力したら、 100KGSと表示される。数量が違ったらエラー表示。 抽象的すぎてすみません。DGETでは1行目は表示されるのですが、 コピペしたらエラー表示が出ました。 よろしくお願い致します。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- mt2015
- ベストアンサー率49% (258/524)
- imogasi
- ベストアンサー率27% (4737/17069)
下記は、関数しかできない人向けに、無理して関数でやったということで、決して望ましいやり方ではない。 すっきりした関数での回答が出れば、勉強させてもらいます。 なぜ合成列を作るかといえば、単純に結合(&を使用)してしまうと、「XYとZ」も「XとYZ」も同じXYZになり、これを避けるため。 ーー 例データ A1:C10 品目 品質 価格 りんご A 12 みかん X 13 梨 Z 14 ぶどう F1 15 りんご B 16 りんご C 17 みかん Y 18 ぶどう F2 19 梨 ZZ 20 ーー D1:E10 合成列 価格コピー りんご A 12 みかん X 13 梨 Z 14 ぶどう F1 15 りんご B 16 りんご C 17 みかん Y 18 ぶどう F2 19 梨 ZZ 20 D2列の式 =REPLACE(REPT(" ",10),1,0,A2)&REPLACE(REPT(" ",10),1,0,B2) 下方向に式を複写。 E2の式 =C2 下方向に式を複写。 検索列の右の列結果列がないといけないので、複写するもの。 ーー G1:I10 検索語1 検索語2 合成列 りんご B りんご B ぶどう F2 ぶどう F2 梨 z 梨 z りんご A りんご A りんご B りんご B ぶどう F1 ぶどう F1 梨 ZZ 梨 ZZ りんご A りんご A みかん X みかん X ーー 検索語の合成列 I2の式 =REPLACE(REPT(" ",10),1,0,G2)&REPLACE(REPT(" ",10),1,0,H2) 下方向に式を複写。 ーー K列 最終結果 16 19 14 12 16 15 20 12 13 K2の式 =VLOOKUP(I2,$D$2:$E$10,2,FALSE) 下方向に式を複写。 ここからは、普通のVLOOKUP利用。 ーーー これでも式は完全ではない。式複写が必要行数を越えたら、空白を返す式部分をかぶせる必要があるが、複雑な感じを与えるので、省略した。 ーー やはりSQLのようなデータベース言語でも使わないと、エクセル関数では、すっきりしないのかも。
- shintaro-2
- ベストアンサー率36% (2266/6245)
>抽象的すぎてすみません。DGETでは1行目は表示されるのですが、 >コピペしたらエラー表示が出ました。 抽象的すぎます 入力セルがどこで、参照データがどこにあるかぐらいは例示してください。 vlookupでtrueにしておけば良いのでは?
補足
申し訳ありません。 Sheet1 A列:品名 B列:数量 C列:エクセル関数を入力し、Sheet2の重量の値を表示させたい もし、Sheet1のB列とSheet2の数量が違ったら、エラー表示 が出るようにしたいです。 Sheet2 A列:品名 B列:数量 C列:重量
お礼
mt2015様へ お忙しいところ、ご回答いただきありがとうございました。 解決できました。