[[20250331144424]] 『COUNTIFでカウントしてくれない』(TO) ページの最後に飛ぶ

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

| 全文検索 | 過去ログ ]

 

『COUNTIFでカウントしてくれない』(TO)

下記関数で、指定の文字以外の個数を出そうとしていますがうまくいきません。

A1〜A3までのセルには下記記載
 A1セル 12345
 A2セル 株式会社●
 A3セル (空白)

G列には 下記のようなデータが記載されています。

 12345株式会社●(空白)
 12345株式会社●
 12345株式会社●(空白)
      ・
      ・   
      ・
 
計算式: =COUNTIF($G:$G,A1&A2&"<>"&A3)
とすると上記G列3つだけのデータとしても1がでるはずが、
0となります。
式をどのようにすることでカウントされますか?

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


 条件を日本語で説明してもらえますか?
 間違ったケースだけ示されても、正しい条件は不明です。

(xyz) 2025/03/31(月) 15:17:41


わかりづらく失礼しました。

A1〜A3に入れた文字を&で合わせた際に
12345株式会社●(空白) となりますが、

(空白) という文字が入ったものをカウントする場合は、下記で2とカウントされますが
=COUNTIF($G:$G,A1&A2&A3)

A3が(空白)という文字以外が入ったり、無い場合の件数を出したいです。

(TO) 2025/03/31(月) 15:28:00


 >A3が(空白)という文字以外が入ったり、無い場合の件数を出したいです。
 G列のなかをカウントするのではないんですか。
 おっしゃることが理解できないので、別の方からの回答をお待ちください。
(xyz) 2025/03/31(月) 15:42:03

A1〜A3で指定された文字を&でつなげた文字で
今回はA3に入っている(空白)という文字が入っているものと
⇒ =COUNTIF($G:$G,A1&A2&A3) =2

それ以外、のものをカウントしたいです。
(空白)以外のものがG列にいくつあるかをカウントしたいです。
⇒ =COUNTIF($G:$G,A1&A2&"<>"&A3) =1にならず0になる
(TO) 2025/03/31(月) 15:49:29


 (空白)をカウント
 =COUNTIF($G1:$G3,"*"&A3&"*")

 (空白)以外をカウント
 =COUNTIF($G1:$G3,"<>*"&A3&"*")

(OTTO) 2025/03/31(月) 16:02:40


12345株式会社●(空白)の(空白)部分を説明してまらえませんか。
(?) 2025/03/31(月) 16:11:00

OTTOさん ありがとうございます。
A1 と A2 も検索必須の条件(変更されることがある)のため、
A1A2を関数に含めないといけません。

?さん ありがとうございます。
(空白)が紛らわしく申し訳ありませんが、スペースでの空白という意味ではなく文字で(空白)です。
空白という文字で例としてふさわしくなかったですが、
下記例題として再度掲載します。

A1〜A3までのセルには下記記載となり、A1,A2は変わるパターンは少なく、A3は頻繁に変わる
※A列のみ記載していますが、B列以降も複数パターンあり
 A1セル 12345
 A2セル 株式会社●
 A3セル A

G列には 下記のようなデータが記載されています。

 12345株式会社●B
 12345株式会社●A
 12345株式会社●V
            
=COUNTIF($G:$G,A1&A2&"<>"&A3) で2となりたいが、0になってしまう。   

(TO) 2025/03/31(月) 16:28:24


 =COUNTA($G:$G)-COUNTIF($G:$G,A1&A2&A3)
 ではダメなの?
(TI) 2025/03/31(月) 16:45:30

T1さん ありがとうございます!
こういった組み合わせであればいけそうですが、
COUNTIF単体でカウントされない理由はどういったことかわかりますでしょうか?

(TO) 2025/03/31(月) 16:53:03


 下記でどうでしょう。

 =COUNTIFS($G:$G,A1&A2&"*",$G:$G,"<>*"&A3)

 > COUNTIF単体でカウントされない理由はどういったことかわかりますでしょうか?

 A1&A2&"<>"&A3

 だと "12345株式会社●<>A"という文字列と一致する件数をカウントすることになる。
 <>という比較演算子は先頭にないと意味がない。

(hatena) 2025/03/31(月) 16:59:58


hatenaさん
ありがとうございます。
そもそも演算子自体の構成を理解していなかったようです。
countifsで対象文字の複数検索、ワイルドカード文字でも抽出というアイデア、
解説もいただきそれぞれ合点がいきました。
こちら活用させていただきたいと思います。
みなさまお手数をおかけいたしました。

(TO) 2025/03/31(月) 17:08:22


 ほとんど同じですが、こんなのも。
=COUNTIFS($G:$G,A1&A2&"*",$G:$G,"<>"&A1&A2&A3)

 A列
12345
株式会社●
林

 G列
12345株式会社●森
12345株式会社●林
12345株式会社●小林
(んなっと) 2025/03/31(月) 17:15:08

hatenaさん 申し訳ありません。
先ほどの件、検索列の文字を変えると(12345株式会社▲)など※A1かA2の内容が異なる場合
残念ながらCOUNTIFSでもいくつかパターンを変えないといけないようです。
現状、T1さんの  =COUNTA($G:$G)-COUNTIF($G:$G,A1&A2&A3) が、G列の検索先文字を変えても
反応するようです。
なかなか難しいようです。
(TO) 2025/03/31(月) 17:20:32

んなっとさん ありがとうございます。
こちらのバージョンもありがとうございます。
こちら、検索先が変わるとやはりうまくカウントしないようです。
カウントとは難しいものです。。
(TO) 2025/03/31(月) 17:27:30

 A列
12345
株式会社●
林

 G列
12345株式会社●森
12345株式会社●林
12345株式会社●小林
30001株式会社●林

 なるほど。上の例であれば、2ではなくて3が返ればいいのですね。
ほかにこんなのも。
=COUNTIFS($G:$G,"?*",$G:$G,"<>"&A1&A2&A3)
(んなっと) 2025/03/31(月) 17:46:27

 > カウントとは難しいものです。

 ではなくて、TOさん提示の検索条件が曖昧なのです。

 A1、A2、A3を連結した検索文字列と不一致のデータ件数を求めたい。

 と提示すれば一発で正解の回答がでたでしょう。
(hatena) 2025/03/31(月) 18:06:51

hatenaさん
ご指摘ありがとうございます。
実際にあるデータをそのまま一部のみ提示したため、
そのあたりご質問がうまくご説明できず、みなさまへお手数をおかけいたしました。
大変申し訳ございません。

んなっとさん ご提示ありがとうございます。
いただきました関数でしっかり表現できました。
?と*を利用する方法などで対応できること、初めて知りました。
非常に勉強になりました。ありがとうございました。
(TO) 2025/04/01(火) 08:06:54


コメント返信:

[ 一覧(最新更新順) ]


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