■13497 / 1階層) |
countifで列方向に数える際の参照列をセルの値で可変
|
□投稿者/ よねさん -(2021/01/09(Sat) 10:21:20)
| もっとスマートな方法があるかもしれませんが、思いついた方法を数式に変換しましたので
以下のような長いものになっています。
INDEX関数で列記号を取り出しています。
これに行番号をつないで、INDIRCT関数で参照できるセル番地に変換しています。
COUNTIF関数で参照するセル範囲はOFFSET関数で指定しています。
こんな感じのものになりましたがいかがでしょうか?
なお、C1セルに列タイトルを入力してあり、D2セルにはCOUNTIF関数で検索する文字列が入っています。
60列もあるのなら、この2つのセル位置にはデータがあるはずなので適切な位置に動かす必要があります。
数式を修正する必要があります。
=IF(OFFSET(INDIRECT(
INDEX(Sheet3!$B$2:$B$70,MATCH(MATCH($C$1,$A$1:$B$1,0),Sheet3!$A$2:$A$70))
&"1"),ROW(A1),)<>$D$2,"",
COUNTIF((OFFSET(INDIRECT(
INDEX(Sheet3!$B$2:$B$70,MATCH(MATCH($C$1,$A$1:$B$1,0),Sheet3!$A$2:$A$70))
&"$2"),0,0,ROW(A1))),
$D$2))
Sheet3に列番号のABCを変換するために以下のような参照表を作成しています。
60列となると、AA列とかが出てくるので尾のような参照表が必要と考えました。
列番号
1 A
2 B
3 C
4 D
5 E
6 F
7 G
8 H
9 I
10 J
11 K
12 L
13 M
14 N
15 O
16 P
17 Q
18 R
19 S
20 T
21 U
22 V
23 W
24 X
25 Y
26 Z
27 AA
28 AB
29 AC
30 AD
31 AE
32 AF
33 AG
34 AH
35 AI
36 AJ
37 AK
38 AL
39 AM
40 AN
41 AO
42 AP
43 AQ
44 AR
45 AS
46 AT
47 AU
48 AV
49 AW
50 AX
51 AY
52 AZ
53 BA
54 BB
55 BC
56 BD
57 BE
58 BF
59 BG
60 BH
61 BI
62 BJ
63 BK
64 BL
65 BM
66 BN
67 BO
68 BP
69 BQ
|
|