[[20250508175302]] 『回数するカウントする関数を教えてほしい。』(ビッグ) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) |

| 全文検索 | 過去ログ ]

 

『回数するカウントする関数を教えてほしい。』(ビッグ)

	   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 >


・通常の関数ではセルの塗りつぶし色の種類を判断できない。
 VBAによるユーザー定義関数なら可能。
・見本の表では回数を数える対象が、連勝単式なのか連勝複式なのか判断できない。
 2-1をカウントしているので連勝単式かと思えば、3-1、3-2が表に無い。
(ナカグロ) 2025/05/08(木) 21:30:04

 塗りつぶしのセルをカウントする部分に絞って回答します
 =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

ありがとうございました。早速やってみます。
(ビッグ) 2025/05/09(金) 08:37:56

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.