[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『回数するカウントする関数を教えてほしい。』(ビッグ)
1 2 3 4 5 6 A 黄色 緑色 B 黄色 緑色 C 緑色 黄色 D 黄色 緑色 E 緑色 黄色
結 果 回数 回数 回数 黄色1位 1-2 2-1 2 3-4 緑色2位 1-3 2-3 1 3-5 2 1-4 2-4 3-6 1-5 2-5 1-6 2-6
セルに黄色と緑色塗りつぶしがあり
結果として回数のセルに回数カウントする関数を教えて下さい。
例 Aに黄色が3、緑色が5にあるので結果として3-5の回数1
Dに黄色が3、緑色が5にあるので結果として3-5の回数2とし表示する関数を教えてください。よろしくお願いいたします。
< 使用 Excel:unknown、使用 OS:Windows10 >
塗りつぶしのセルをカウントする部分に絞って回答します =CountYG(セル範囲)としてください
Function CountYG(rng As Range) As String
Dim y, g, cell
y = 0: g = 0
For Each cell In rng
Select Case cell.Interior.ColorIndex
Case 6
y = y + 1
Case 10
g = g + 1
End Select
Next cell
CountYG = CStr(y) & "-" & CStr(g)
End Function
(TKG) 2025/05/08(木) 23:33:25
あとは通常のワークシート関数COUNTIFで事足りるかと。 (TKG) 2025/05/08(木) 23:35:22
既に指摘がありましたとおりです。(今のままではマクロを使わざるをえません。(マクロにはv4.0のマクロを含む))
こんな風に考えたらどうですか?こうすれば、マクロ不要でほぼ同一の機能が果たせます。
1. 元の表について(色を直接設定するのではなく、「条件付き書式」を利用)
・1位はセルに 1 と入力、2位は 2 と入力
・入力範囲に「条件付き書式」を設定し、1は黄色の塗りつぶし、2は緑の塗りつぶしとする
・これであれば、入力も数値なので今より簡単。
また視覚効果は今と同一が保証されます。
2. 元の表の右に作業列を設け、
そこに、3-5といった文字列になるよう、数式を設定。
(例えば、=MATCH(1,B2:G2,0)&"-"&MATCH(2,B2:G2,0))
3.集計表については、COUNTIF関数を使って回数をカウントします。
2.の作業用セル範囲のアドレスが $J$2:$J$6 であったとすると、
=IF(B9="","",COUNTIF($J$2:$J$6,B9)) のように B9セル(1-2)の出現回数をカウントできます。
他のセルも同じ。
【参考】こんな集計表も考えられます。
A列 B C D E F G H I
11 2位
12 1 2 3 4 5 6 計
13 1位 1 0
14 2 2 1 3
15 3 2 2
16 4 0
17 5 0
18 6 0
19 計 2 0 1 0 2 0
C13セル =COUNTIF($J$2:$J$6,$B13 & "-" & C$12)
C13:H18にコピー
合計セルはSUM関数を使用。
(xyz) 2025/05/08(木) 23:37:33
C13:H18に 0ならフォントの色を白にする条件付き書式を設定してください。 (xyz) 2025/05/08(木) 23:40:07
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.