Excel で列の値に基づいて行を異なるシートに分割する

Excel で列の値に基づいて行を異なるシートに分割する
+-----+----------+----------+
|  a  |    b     |    c     |
+-----+----------+----------+
| 101 | 12:13:00 | employee |
| 102 | 12:15:00 | customer |
| 103 | 12:20:00 | employee |
| 102 | 12:16:00 | customer |
| 103 | 18:15:00 | employee |
| 101 | 18:18:00 | customer |
+-----+----------+----------+

列の値に応じて行を別のシートに自動的に分割する方法

最終的に3枚のシートを取得します。

列Aの値101

+-----+----------+----------+
|  a  |    b     |    c     |
+-----+----------+----------+
| 101 | 12:13:00 | employee |
| 101 | 18:18:00 | customer |
+-----+----------+----------+

列Aの値102

+-----+----------+----------+
|  a  |    b     |    c     |
+-----+----------+----------+
| 102 | 12:15:00 | customer |
| 102 | 12:16:00 | customer |
+-----+----------+----------+

列Aの値103

+-----+----------+----------+
|  a  |    b     |    c     |
+-----+----------+----------+
| 103 | 12:20:00 | employee |
| 103 | 18:15:00 | employee |
+-----+----------+----------+

答え1

ここに画像の説明を入力してください

使い方:

Sheet1 にヘルパー列をいくつか作成する必要があります。

次の式を書いて記入してください:

D2 ==IF($A2=101,1+MAX($D$1:D1),"")

E2 ==IF($A2=102,1+MAX($E$1:E1),"")

F2 ==IF($A2=103,1+MAX($F$1:F1),"")

次の式を書きなさいシート2のセルA2このセルを横と下にコピーします::

=IFERROR(INDEX(Sheet1!A:A,MATCH(ROWS($1:1),Sheet1!$D:$D,0)),"")

ID 101 を持つシート 1 のすべてのレコードを取得します。

注記、

  • 上記の式を使ってID 102 および 103シート3とシート4若干の修正を加えました。
  • のためにID 102&Sheet1!$D:$Dを置き換えてSheet1!$E:$EID 103Sheet1!$F:$F式の中に あります。

必要に応じて数式内のセル参照を調整します。

関連情報