『カウントイフ」関数について』(出川)
お世話になります。
カウントイフ関数で悩んでます。
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
オマケでお遊びとして、考えてみました。
出現数が少なければアリかもしれません。
B9セル =INDEX({"欠番",1,2,3,4},COUNTIF(B1:E7,A9:A28)+1)
(もこな2) 2026/06/02(火) 21:01:34
LET関数勉強になりました。
今回範囲及び限定的値故に、
IFERRORで処理しようと思います。
=IF(論理式、COUNTIF($B$1:$E$7,A9),"欠番")の
論理式がなかなか思いつかなくて、
COUNTIFを続けて強引な関数?でした。
論理式に$B$1:$E$7=A9いれると、スピルしまくるしでした。
ありがとうございました
出川
(出川) 2026/06/03(水) 12:50:41
>論理式に $B$1:$E$7=A9 いれると、スピルしまくるし OR($B$1:$E$7=A9) とすればよかったかもです。
(半平太) 2026/06/03(水) 13:08:04
iferrorの式を書いてるの私だけなので追記しますが、 0除算するからエラーになるので例外的に使えるだけですので 論理式が思いつかないような段階だとifでちゃんと書いた方がいいです 後でなにをやってるのかわからなくなります。(,の数が減るのでよく使いはしますが・・・) (ちくわ) 2026/06/03(水) 13:49:02
いまさらですが別解 =SUBSTITUTE(FREQUENCY(B1:E7,A9:A28),0,"欠番") (´・ω・`) 2026/06/03(水) 14:56:54
引続きのフォローありがとうございました。
半平太様、OR($B$1:$E$7=A9で、範囲内と選択セル合致が]OR関数で出来るとは
思いもつきませんでした。助かりました。
ちくわ様
引続きのフォローありがとうございました。
アドバイスありがとうございます。
今回IFとOR関数で行きます。
´・ω・`様
新しい関数にて勉強になります。
ご教授の関数入れてみたのですが
スピルにて、A29までスピルしてしまいます。
(1つ多くスピルしてしまします。)
宜しければご指導願います。
出川
(出川) 2026/06/04(木) 18:37:43
なので、置換するアイデアはそのままで、COUNTIF関数にすればいいんじゃないでしょうか?
=SUBSTITUTE(COUNTIF(B1:E7,A9:A28),0,"欠番")
(もこな2) 2026/06/04(木) 19:26:46
SUBSTITUTEを使うアイデアは個数が「10とか20とかにならない」 と言う条件が必要なんですが、大丈夫ですか?
あと、数値が数字(文字型)に変わりますが、大丈夫ですか? 文字型でもいいなら、TEXT関数でもいけます。
(半平太) 2026/06/04(木) 20:28:06
再度ご指導ありがとうございました。
SUBSTITUTE関数でのスピルですが、COUNTIFで行けました。
半平太様の言われるように、数値が文字列になってしましました。
数値での処理を要しますので、今回はOR関数で行きたくありがとうございました。
出川
(出川) 2026/06/04(木) 20:46:45
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.