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

初心者です。よろしくお願いします。

Excelで条件別にシートを振り分ける方法を教えてください。
名簿の管理をしています。
シート1にNoや名前を入力し、条件ごとに別シートに行ごと自動で振り分ける方法がありますか



情報を入力するのは、シート1のみで、
シート2~13を自動で振り分けた管理簿という形にしたいです。
現在、以下のようにシート1を作成してます。

列A  列B  列C    列D    列E   ~    列U
行 1  NO  発注日   店着日   店番   ~    承認者
行2  1   4/1    4/6    111       あああ
行3  2   4/2    4/8    222       えええ
行4  3   4/2    5/8    222       えええ

シート2~13までに店着日の日付で月ごとに振り分けしたいです。
よろしくお願いいたします。

A 回答 (2件)

こんばんは!



一例です。
↓の画像のような配置で元データはSheet1にあるとします。
そして画像ではSheet2になっていますが、すべてのシートは同じやり方なので、Sheet2で説明します。
Sheet2のA1セル(セルの表示形式はユーザー定義から 0月 としておき)「4」という数値のみを入力しています)。

Sheet1に作業用の列を設けています。
作業列V2セルに
=IF(C2="","",MONTH(C2))
という数式を入れこれ以上データはない!という位まで下へフィル&コピーしておきます。

Sheet2のA4セルに
=IFERROR(INDEX(Sheet1!A$1:A$1000,SMALL(IF(Sheet1!$V$1:$V$1000=$A$1,ROW($A$1:$A$1000)),ROW(A1))),"")

配列数式なので、Ctrl+Shift+Enterで確定!(←必須★)し
フィルハンドルでU4セルまでフィル&コピー → 日付列は好みの表示形式にします。
最後にA4~U4セルを範囲指定 → U4セルのフィルハンドルで下へコピーすると
画像のような感じになります。

※ 作業列が目障りであれば、遠く離れた列にするか非表示にしてください。

尚、シート見出しの2番目~最終シートを選択(Sheet2をアクティブ → Shiftキーを押しながら最終シートのシート見出しをクリック)
これですべてのシートがグループ化されましたので
一つのシートに上記数式をいれ、各シートのA1セルのみを変更するとその月のデータのみが表示されます。

※ 逆に言えば、今回のやり方だと各月のシートを作成しなくても
A1セルの数値を入れ替えるだけで好みの月のデータのみが表示されます。m(_ _)m
「エクセルでデータ管理を自動化したいのです」の回答画像2
    • good
    • 0
この回答へのお礼

ありがとうございます。
助かりました。

お礼日時:2020/05/13 17:37

こんにちは



>条件ごとに別シートに行ごと自動で振り分ける方法がありますか?
マクロでも関数でも可能です。
マクロの例はどなたかにおまかせするとして、以下はひとまず関数による例です。

セル位置がはっきりしませんが、シート1のA列が「No」で「店着日」はC列と仮定します。
また、入力されている日付は全てシリアル値(=エクセルの日付型の値)と仮定しています。

抽出したいシートのA1セルに対象月(=シリアル値)が入力されているとして、そのシートのA2セルに
=IFERROR(INDEX(Sheet1!A:A,AGGREGATE(15,6,ROW(Sheet1!$C$2:$C$1000)/(YEAR(Sheet1!$C$2:$C$1000)=YEAR($A$1))/(MONTH(Sheet1!$C$2:$C$1000)=MONTH($A$1)),ROW(A1))),"")
の式を入力して、必要な範囲にフィルコピーしておきます。

※ 数式は「年」と「月」が同じものを抽出するようになっていますが、ご質問文の文章通りに(年は関係なく)「月」だけで抽出したい場合は、式中の(Year()=Year())の部分を除けばそのようになります。
※ 同じシートをコピーしておいて、A1セルの値を変えればそれに応じた月の内容が抽出されます。
※ 上式は、元データの範囲を2~1000行までに設定してありますが、行数が多い場合は計算負荷が増大するので反応が遅くなります。
(そのような場合は、マクロを利用なさった方が良いでしょう)
※ 被参照セルが空白の場合、関数での参照になるので「0」表示になります。
 (空白表示とする方法は何種類かありますが、ひとまず省略しています)
    • good
    • 0

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