[[20260601213023]] 『カウントイフ」関数について』(出川) ページの最後に飛ぶ

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

| 全文検索 | 過去ログ ]

 

『カウントイフ」関数について』(出川)

お世話になります。
カウントイフ関数で悩んでます。

	A	B	C	D	E	
1		21	25	31	35	
2		21	25	31	35	
3		21	25	31	35	
4		22	26	32	36	
5		23	27	33	37	
6		23	27	33	37	
7		23	27	33	37	
8						
9	21	3	←関数ですがIF(COUNTIF($B1:$E$7,A9) 			
	22	1	,COUNTIF($B$1:$E$7,A9),"欠番")	を入力して		
	23	3	ます。			
	24	欠番				
	25	3				
	26	1				
	27	3				
	28	欠番				
	29	欠番				
	30	欠番				
	31	3				
	32	1				
	33	3				
	34	欠番				
	35	3				
	36	1				
	37	3				
	38	欠番				
	39	欠番				
	40	欠番				

B1からE7の範囲でA9セルと同じ値が何個あるか、カウントしております。21から40までのリスト内に個数をカウントMもしなければ欠番と記憶さいたいのですが、
COUNTIF関数を続けて入力しなくても、いい関数が有りますでしょうか

< 使用 Excel:Microsoft365、使用 OS:Windows11 >


 countifを一回だけにしたい?
 ふつうにやるならlet関数
 :=let( _countif, COUNTIF($B1:$E$7,A9),
     IF(_countif,_countif,"欠番")
     )

 条件が限定的なのでiferror関数でも
 :=IFERROR(1/(1/COUNTIF($B$1:$E$7,A9)),"欠番")

(ちくわ) 2026/06/01(月) 22:49:16


作業列を使ってもよい&見た目だけでよければ
 E8セル  =TOCOL(B1:E7)
 B9セル  =COUNTIF($E$9#,A9)

 B9:B28セルの書式設定「0;;"欠番"」

とするのはどうでしょうか?
(作業列を使わずできそうな気がしますが、ちょっと私には解決方法がわかりませんでした)

(もこな2) 2026/06/01(月) 23:08:48


スピルさせ忘れました(あと、スピルさせるので絶対参照でなくてもよかったです)
 B9セル =COUNTIF(E9#,A9:A28)
                       ^^^^^^^

(もこな2) 2026/06/01(月) 23:13:32


ひとつにまとめる意味はあんまりないですが、あえてまとめるなら
 =LET(seq,SEQUENCE(20, 1, 21),HSTACK(seq,LET(a, COUNTIF(B1:E7, seq), IF(a, a, "欠番"))))

とか

 =LET(
   seq, SEQUENCE(20, 1, 21),
   HSTACK(seq, MAP(seq, LAMBDA(x, LET(a, COUNTIF(B1:E7, x), IF(a, a, "欠番")))))
 )

でしょうか。
条件が固定されているなら前者で十分ですし、可読性やメンテナンス性なら後者ですかね。
(あ) 2026/06/02(火) 00:39:46


 もこな2さんへ:
 > 作業列を使わずできそうな気がしますが
  B9セル  =COUNTIF(B1:E7,A9:A28)
  B9:B28セルの書式設定「0;;"欠番"」
 ではどうでしょうか。 
(xyz) 2026/06/02(火) 01:11:44

 質問者さんへ:
 既に回答ありましたが、書式設定を使わないなら
 =LET(a,COUNTIF(B1:E7,A9:A28),IF(a,a,"欠番"))
 でしょうか。
 B9セルに上記の式を入れると、スピルされます。
(xyz) 2026/06/02(火) 01:15:16

コメント返信:

[ 一覧(最新更新順) ]


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