初心者です。よろしくお願いします。
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までに店着日の日付で月ごとに振り分けしたいです。
よろしくお願いいたします。
No.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
No.1
- 回答日時:
こんにちは
>条件ごとに別シートに行ごと自動で振り分ける方法がありますか?
マクロでも関数でも可能です。
マクロの例はどなたかにおまかせするとして、以下はひとまず関数による例です。
セル位置がはっきりしませんが、シート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」表示になります。
(空白表示とする方法は何種類かありますが、ひとまず省略しています)
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 【困っています】VBA 追加処理の記述を教えてください。 1 2022/08/25 22:54
- Visual Basic(VBA) VBAで最新のデータを別シートに転記する方法をお教えください。 3 2022/04/07 19:20
- Excel(エクセル) 【エクセル」 特定のセルで条件抽出した列を、別シートに上から詰めて表示したい。 8 2022/04/08 16:00
- Excel(エクセル) Excelマクロ 差分抽出の方法が知りたいです。 2 2023/03/07 13:25
- Excel(エクセル) 単価シートから単価をエクセル関数で自動取得する方法 1 2023/07/02 22:00
- Visual Basic(VBA) VBAで、1つのエクセルで、2つのシートからもう1つのシートに条件のある転記コードを教えてください。 1 2023/03/16 18:07
- Excel(エクセル) VBA セルの値と同じ名前のシートにデータを貼り付けするやり方を教えてください 2 2022/05/17 16:26
- Visual Basic(VBA) エクセルのマクロで対象ごとにシート分けしてその内容をセルに書き込みたい 9 2022/08/24 13:23
- Excel(エクセル) EXCEL 関数を教えてください。(A列の同じ値が複数ある場合vlookupで出来ますか) 4 2022/12/07 20:54
- Visual Basic(VBA) エクセルについて教えてください。 3 2023/06/28 09:11
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【関数】スペースがいくつ入っ...
-
西暦や和暦の表示をyyyymmdd表...
-
【Microsoft Office Excel Comp...
-
Excelはなんで先頭の0を消すん...
-
Excelのセルを飛ばして入力する
-
別シートからの文字を変更
-
エクセルの行の抽出について質...
-
Excelのオートフィル
-
Excel 2019 のピボットテーブル...
-
スプレッドシート クエリ関数 1...
-
excelの不要な行の削除ができな...
-
Excel初心者です。 詳しい方、...
-
【Excel】セル内の時間帯が特定...
-
Excel初心者です。 詳しい方、...
-
EXACT関数とIF関数の組み合わせ...
-
Excelのグラフ軸について
-
スマートな関数を教えて下さい。
-
Excelで全角を半角にしたいので...
-
【マクロ】エクセルにかいてあ...
-
Excel:一部のフォントでセルの...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ファイル内にある数字の出現回...
-
Excel関数の先頭に「@」が入っ...
-
エクセルの気味悪い不思議
-
Excel VBAで、実行時にsheet上...
-
表示されている人数だけを数え...
-
他人が作ったマクロの理解
-
Excelの関数について質問です。
-
Excel 集計表
-
エクセル 日時の計算式について
-
Excelの関数に関して質問です。...
-
エクセル:セル内の文字列の下...
-
絞り込み検索
-
エクセルの関数で
-
エクセルの書式設定について教...
-
余分なEXCELファイルに印刷され...
-
VBA 同一シート内での転記の仕方
-
長期休みの関数はありますか
-
Excelの空のセル
-
エクセルで入力してある文を別...
-
Excelのマクロで、セルを結合し...
おすすめ情報