プロが教える店舗&オフィスのセキュリティ対策術

Sheet1に下記のようなシートがあります。
(セルA1)コードA (B1)コードB (C1)コードC (D1)店名 (E1)商品コード (F1)タイトル (G1)価格 (H1)注文数 (J1)備考

このSheet1に受注があるたび入力しています。

教えて欲しいのは、Sheet1にデータを入力する度に、Sheet2以降に該当する行だけを随時出力するにはどうしたらよいでしょうか?

たとえば コードA「ABC商事」、商品コード「115-1」に該当する行だけをSheet2に出力したいのです。
Sheet3にはコードA「やまもとや」、商品コード「115-1」・・・のように。

宜しくお願いします。

A 回答 (3件)

こんにちは。

maruru01です。

数式で実現しようとすると、結構複雑になります。
Sheet2はSheet1と同様、A1~J1にタイトルがあり、2行目からデータを表示するとします。
Sheet2のA2に、

=IF(SUMPRODUCT((Sheet1!$A$2:$A$20="ABC商事")*(Sheet1!$E$2:$E$20="115-1"))>=ROW(1:1),IF(LEN(INDEX(Sheet1!A:A,SMALL(IF((Sheet1!$A$2:$A$20="ABC商事")*(Sheet1!$E$2:$E$20="115-1"),ROW(Sheet1!$A$2:$A$20)),ROW(1:1)))),INDEX(Sheet1!A:A,SMALL(IF((Sheet1!$A$2:$A$20="ABC商事")*(Sheet1!$E$2:$E$20="115-1"),ROW(Sheet1!$A$2:$A$20)),ROW(1:1))),""),"")

と入力して、[Ctrl]+[Shift]+[Enter]で決定します。
(数式の両端に「{}」が付いて、配列数式になります。)
これを、J2までコピー、さらに下の行へコピーします。
下へのコピーはSheet1のデータ数分で十分です。
なお、数式中の範囲は、Sheet1で入力する可能性がある最大行範囲にしておいて下さい。
また、条件の変更は、数式中の「ABC商事」「115-1」の個所を変更して下さい。

また、データが多くなると、再計算に時間が掛かるようになります。
随時表示より、適当なタイミングでオートフィルタで抽出してコピーペーストした方がいいかも知れません。
    • good
    • 0

すいません。

いまさらなんですが、#2で回答したものです。
しばらく経ってから、自分の書いた回答が質問内容をよく理解せずに出したものだと気がつきました。
(一部分を抽出して、表示するということを見落としてました。)

管理者に間違っているので削除して欲しいとの旨メールしたのですが、管理規約に違反したもの以外は削除しないとのことでした。
何もコメントがついていないので、多分間違っていることはわかっていらっしゃるとは思いますが、私自身がこのままになっていることに気が引けるので、訂正させていただきます。

回答ではないのですが、回答の種類のところには何か入れないと登録できないので、補足要求としておきました。
間違った答え書いてすみません。
    • good
    • 0

こんにちは



例えば、Sheet1のA列に入力されたものを、同じようにSheet2のA列に出力させたいなら、Sheet2のA1に=を入力して、Sheet1のA1をクリックして、Enrerキーを押すと=Sheet2のA1に=sheet1!A1と入ります。

これはシート1のA1と同じものが入るということですので、後はオートフィルでコピーすればA2、A3と相対参照でひとつずつ下のセルの内容がコピーされるようになります。
ただ、このままだと何も入っていないセルには0が表示されるのでこれを回避したいときはIF関数を使ってください。
=IF(Sheet1!A1="","",Sheet1!A1)ですね。
それでは、がんばってください。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!