• ベストアンサー

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シートに反映されるというようにしたいのです。 補足もしますのでどうか宜しくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • daiku164
  • ベストアンサー率34% (151/437)
回答No.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)),"","ピーチ") これで良いかと思います、

sousousou
質問者

お礼

思い通りのものが作成できました。 みなさま本当にありがとうございました。

その他の回答 (7)

  • daiku164
  • ベストアンサー率34% (151/437)
回答No.7

すいません、訂正です、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)
回答No.6

(シート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としています、 多分これで良いかなと思いますが、(^^;   

sousousou
質問者

お礼

ありがとうございました。 シートBに品名(例えばみかん)を入力しなくても 品名も拾ってくる式が知りたいのですが分かりますか?

回答No.5

意味を把握しきれていませんが、こういうことですか? シート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))

sousousou
質問者

補足

まさしくこれがしたいのですが、関数をあまり理解出来て いない為うまくできませんでした。 実際のセル番を記載しますので、このセル番で 関数の式をお願いできますでしょうか。 (シート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)
回答No.4

ゴメンナサイ 他の方の回答をお待ち下さい。 単純に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)
回答No.3

こんにちは。maruru01です。 Aシートの表を行列を入れ替えて、Bシートに表示させたいということでしょうか。 それなら、BシートのA1に、 =IF(LEN(INDIRECT(ADDRESS(COLUMN(),ROW(),,,"Sheet1"))),INDIRECT(ADDRESS(COLUMN(),ROW(),,,"Sheet1")),"") と入力して、A4までコピーします。 さらに、A1:A4を選択して、適当な列までコピーします。 (Aシートのデータ入力予定数分くらい) (足りなくなったら、後でさらにコピーすればいいですが。) なお、数式中の「Sheet1」は、実際のAシートのシート名に変更して下さい。

sousousou
質問者

補足

#NAME?と表示されるのですかどうしたらいいでしょうか?

  • free-goo
  • ベストアンサー率18% (28/155)
回答No.2

#1です すいません 理解できないです。 >A1のセルに何も入力しなくても自答的にBシートの >それぞれの欄にデータが入るようにでした。 >(品名欄も含みます) ここのA1はBシートのセルのことですよね??? Bシートであれば、Aシートを単純にコピーですか??違いますよねAシートにある、必要な分だけをBシートにチョイスするわけではないのですか?? 先程回答したのはBシートのA1に入力された言葉をAシートのA列から検索して、検察列から2列目3列目・・・としただけです。検索するKEYはどのシートのどのセルに入力されますか??

sousousou
質問者

補足

もう一度まとめます。 コピーという方法ではなくて関数で AシートにあるデータをBシートに写したいのです。 関数はBシートのそれぞれのセル(品名セル・ロットセル・容量セル・数量セル)に入力です。 例:Aシートに「りんご」のデータが入った場合に Bシートにりんごのデーターが自動的に入るといった 具合です。

  • free-goo
  • ベストアンサー率18% (28/155)
回答No.1

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列に存在する事

sousousou
質問者

補足

早速ありがとうございました。 すみません、一部間違いがあったのですが A1のセルに何も入力しなくても自答的にBシートの それぞれの欄にデータが入るようにでした。 (品名欄も含みます) すみません。

関連するQ&A