- ベストアンサー
Excelの関数に関して教えて下さい
パソコンはWindos98です。 ExcelのAシートに A列 B列 C列 D列 (品名) (ロット) (容量) (数量) 1行 みかん 123 100g 3 2行 りんご 456 100g 4 3行 ピーチ 789 120g 2 とある場合に新たなBシートの A1のセルに「りんご」と入力した場合に A1 品名 A2 ロット A3 容量 A4 数量 Aシートの2行目のデータをBシートのそれぞれの欄に 自動的に入るという関数はありますでしょうか? ちなみにAシートのりんごのデータは2行目にくるか 3行目にくるかは分からないのでどこの行に入力しても Bシートに反映されるというようにしたいのです。 補足もしますのでどうか宜しくお願いします。
- みんなの回答 (8)
- 専門家の回答
質問者が選んだベストアンサー
又失礼します、 固定になってしまいますが、#5番さんの関数を参考に B1に =IF(ISERROR(MATCH("みかん",Sheet1!$A$2:$A$20,0)),"","みかん") B6に =IF(ISERROR(MATCH("りんご",Sheet1!$A$2:$A$20,0)),"","りんご") B12に =IF(ISERROR(MATCH("ピーチ",Sheet1!$A$2:$A$20,0)),"","ピーチ") これで良いかと思います、
その他の回答 (7)
- daiku164
- ベストアンサー率34% (151/437)
すいません、訂正です、m(_ _)m 15番目 15数量 * =IF(B12="","",VLOOKUP(B12,Sheet1!$A$2:$D$20,3)) 15数量 * =IF(B12="","",VLOOKUP(B12,Sheet1!$A$2:$D$20,4)) でした、 最後尾3→4
- daiku164
- ベストアンサー率34% (151/437)
(シートA) Sheet1 A B C D 1 品名 ロット 容量 数量 2 みかん 123 100g 3 3 りんご 456 100g 4 4 ピーチ 789 120g 2 以下20までの予定で (シートB) Sheet2 A B B列に入力事項↓ 1品名 * みかん(空白で品物名を入れるとそのデータが反映される) 2ロット * =IF(B1="","",VLOOKUP(B1,Sheet1!$A$2:$D$20,2)) 3容量 * =IF(B1="","",VLOOKUP(B1,Sheet1!$A$2:$D$20,3)) 4数量 * =IF(B1="","",VLOOKUP(B1,Sheet1!$A$2:$D$20,4)) 5 6品名 * りんご 又空白 7ロット * =IF(B6="","",VLOOKUP(B6,Sheet1!$A$2:$D$20,2)) 8容量 * =IF(B6="","",VLOOKUP(B6,Sheet1!$A$2:$D$20,3)) 9数量 * =IF(B6="","",VLOOKUP(B6,Sheet1!$A$2:$D$20,4)) 11 12品名 * ピーチ 13ロット * =IF(B12="","",VLOOKUP(B12,Sheet1!$A$2:$D$20,2)) 14容量 * =IF(B12="","",VLOOKUP(B12,Sheet1!$A$2:$D$20,3)) 15数量 * =IF(B12="","",VLOOKUP(B12,Sheet1!$A$2:$D$20,3)) 検索数を2~20としています、 多分これで良いかなと思いますが、(^^;
お礼
ありがとうございました。 シートBに品名(例えばみかん)を入力しなくても 品名も拾ってくる式が知りたいのですが分かりますか?
- misatoanna
- ベストアンサー率58% (528/896)
意味を把握しきれていませんが、こういうことですか? シートAにりんごのデータがなければシートBは空白で、どこかにりんごのデータが入れば それを拾ってくる。 ということでしたら、シートBのA1から順に次のように入力します。 A1: =IF(ISERROR(MATCH("りんご",A!$A$1:$A$10,0)),"","りんご") ・$A$1:$A$10 は、品名データが入りうる仮想範囲です。 A2: =IF($A$1="","",VLOOKUP($A$1,A!$A$1:$D$3,2,FALSE)) A3: =IF($A$1="","",VLOOKUP($A$1,A!$A$1:$D$3,3,FALSE)) A4: =IF($A$1="","",VLOOKUP($A$1,A!$A$1:$D$3,4,FALSE))
補足
まさしくこれがしたいのですが、関数をあまり理解出来て いない為うまくできませんでした。 実際のセル番を記載しますので、このセル番で 関数の式をお願いできますでしょうか。 (シートA) A B C D 1 品名 ロット 容量 数量 2 みかん 123 100g 3 3 りんご 456 100g 4 4 ピーチ 789 120g 2 *「A4セル」以下入荷すれば行は増えますが、 同じ品名のものはありません (シートB) A B 1品名 * 2ロット * 3容量 * 4数量 * 5 6品名 * 7ロット * 8容量 * 9数量 * 11 12品名 * 13ロット * 14容量 * 15数量 * *の部分のAシートのデーターを反映させたいのですが B1~4にはみかんのデータ B6~9にはりんごのデータ B12~15にはピーチのデータです。 もしAシートにみかんのデータがなければ B1~4は空白のままでいいのですが この説明で分かりますでしょうか。
- free-goo
- ベストアンサー率18% (28/155)
ゴメンナサイ 他の方の回答をお待ち下さい。 単純にAシートの内容をBシートに表示させたいのであればBシート各セルに=sheet1!(セル位置) A1であれば=sheet1!(A1) A2であれば=sheet1!(A2)という具合に、 それとも、AシートのA1に入力した言葉をAシートから検索してBシートに表示であれば A1に=VLOOKUP(sheet1!A1,A2:D999,1,false) B1に=VLOOKUP(sheet1!A1,A2:D999,2,false) C1に=VLOOKUP(sheet1!A1,A2:D999,3,false) D1に=VLOOKUP(sheet1!A1,A2:D999,4,false) (品名) (ロット) (容量) (数量)の内容が表示されます。・・・・・・・・・これじゃないですよね。さっきと同じ意味なんで・・・・すいませんでした
- maruru01
- ベストアンサー率51% (1179/2272)
こんにちは。maruru01です。 Aシートの表を行列を入れ替えて、Bシートに表示させたいということでしょうか。 それなら、BシートのA1に、 =IF(LEN(INDIRECT(ADDRESS(COLUMN(),ROW(),,,"Sheet1"))),INDIRECT(ADDRESS(COLUMN(),ROW(),,,"Sheet1")),"") と入力して、A4までコピーします。 さらに、A1:A4を選択して、適当な列までコピーします。 (Aシートのデータ入力予定数分くらい) (足りなくなったら、後でさらにコピーすればいいですが。) なお、数式中の「Sheet1」は、実際のAシートのシート名に変更して下さい。
補足
#NAME?と表示されるのですかどうしたらいいでしょうか?
- free-goo
- ベストアンサー率18% (28/155)
#1です すいません 理解できないです。 >A1のセルに何も入力しなくても自答的にBシートの >それぞれの欄にデータが入るようにでした。 >(品名欄も含みます) ここのA1はBシートのセルのことですよね??? Bシートであれば、Aシートを単純にコピーですか??違いますよねAシートにある、必要な分だけをBシートにチョイスするわけではないのですか?? 先程回答したのはBシートのA1に入力された言葉をAシートのA列から検索して、検察列から2列目3列目・・・としただけです。検索するKEYはどのシートのどのセルに入力されますか??
補足
もう一度まとめます。 コピーという方法ではなくて関数で AシートにあるデータをBシートに写したいのです。 関数はBシートのそれぞれのセル(品名セル・ロットセル・容量セル・数量セル)に入力です。 例:Aシートに「りんご」のデータが入った場合に Bシートにりんごのデーターが自動的に入るといった 具合です。
- free-goo
- ベストアンサー率18% (28/155)
Bシート A1に「りんご」等の商品名の入力 B1に=VLOOKUP(A1,sheet1!A:D,2,false) C1に=VLOOKUP(A1,sheet1!A:D,3,false) D1に=VLOOKUP(A1,sheet1!A:D,4,false) 上記の関数を入れる、商品名はどの行にあっても可能但し、必ずA列に存在する事
補足
早速ありがとうございました。 すみません、一部間違いがあったのですが A1のセルに何も入力しなくても自答的にBシートの それぞれの欄にデータが入るようにでした。 (品名欄も含みます) すみません。
お礼
思い通りのものが作成できました。 みなさま本当にありがとうございました。