パソコン関連の書籍等を読んで試したりしながらアウトプットしまくります。

アウトプットしながら学ぶ

Excel

Excelで抽出された結果を別シートに自動表示する方法

投稿日:

例えばSheet1に次のような表があるとします。

A B C
学年 名前
1 いとう
2 ごとう
1 さとう
1 むとう
2 こんどう
3 えとう
2 きとう

ここから別シートに1年生だけ表示したいといったときに使います。

Filter関数を使えばよいのですが、事情があって使えない場合もあります。
すぐにマクロとか使いたくなるのですが、数式でなんとかしたかったので、考えてみました。

A列に次のように数式を入力します。
現在の行の上までの1年生の数をカウントする式となっています。

A B C
学年 名前
=COUNTIF(B$3:B3,1) 1 いとう
=COUNTIF(B$3:B4,1) 2 ごとう
=COUNTIF(B$3:B5,1) 1 さとう
=COUNTIF(B$3:B6,1) 1 むとう
=COUNTIF(B$3:B7,1) 2 こんどう
=COUNTIF(B$3:B8,1) 3 えとう
=COUNTIF(B$3:B9,1) 2 きとう

計算結果を表示するとこうなります。

A B C
学年 名前
1 1 いとう
1 2 ごとう
2 1 さとう
3 1 むとう
3 2 こんどう
3 3 えとう
3 2 きとう

Sheet2に以下の表を作成します。

A B C
学年 名前
1 =VLOOKUP($A3,Sheet1!A:C,2,FALSE) =VLOOKUP($A3,Sheet1!B:D,2,FALSE)
2 =VLOOKUP($A4,Sheet1!A:C,2,FALSE) =VLOOKUP($A4,Sheet1!B:D,2,FALSE)
3 =VLOOKUP($A5,Sheet1!A:C,2,FALSE) =VLOOKUP($A5,Sheet1!B:D,2,FALSE)
4 =VLOOKUP($A6,Sheet1!A:C,2,FALSE) =VLOOKUP($A6,Sheet1!B:D,2,FALSE)
5 =VLOOKUP($A7,Sheet1!A:C,2,FALSE) =VLOOKUP($A7,Sheet1!B:D,2,FALSE)
6 =VLOOKUP($A8,Sheet1!A:C,2,FALSE) =VLOOKUP($A8,Sheet1!B:D,2,FALSE)
7 =VLOOKUP($A9,Sheet1!A:C,2,FALSE) =VLOOKUP($A9,Sheet1!B:D,2,FALSE)
8 =VLOOKUP($A10,Sheet1!A:C,2,FALSE) =VLOOKUP($A10,Sheet1!B:D,2,FALSE)
9 =VLOOKUP($A11,Sheet1!A:C,2,FALSE) =VLOOKUP($A11,Sheet1!B:D,2,FALSE)
10 =VLOOKUP($A12,Sheet1!A:C,2,FALSE) =VLOOKUP($A12,Sheet1!B:D,2,FALSE)

 

LOOKUPで左端が、1,2,3…となるものを検索して並べています。
計算結果を表示するとこうなります。

A B C
学年 名前
1 1 いとう
2 1 ごとう
3 1 えとう
4 #N/A #N/A
5 #N/A #N/A
6 #N/A #N/A
7 #N/A #N/A
8 #N/A #N/A
9 #N/A #N/A
10 #N/A #N/A

 

毎回フィルタをかけたりしなくてよいので便利です。







-Excel

Copyright© アウトプットしながら学ぶ , 2024 AllRights Reserved Powered by AFFINGER4.