
お世話になります。
例としてエクセルシートのA1からA7に次の通り品名コード(文字列)を入力してます。
A1 1001 たまご
A2 01001 お肉
A3 001001 豆腐
A4 1001 たまご
A5 01001 お肉
A6 01001 お肉
A7 001001 豆腐
A8には =COUNTIF(A1:A7,"=1001") の関数式を入れて品名コード№1001を表示している数を集計することとしましたが、A8に出てきた答えが7となってます。
0(ゼロ)から始まるコード番号が0を認識しないで?集計されているようですが、0も認識して集計する方法を教えてください。
No.4ベストアンサー
- 回答日時:
既に課題は解決しているようですが、参考までに投稿します。
COUNTIF関数は「数字文字」のみの羅列を「数値」として処理しているようで、このようなご質問を目にすることがあります。ですから結論としては、fujillinさんの回答にあるとおり、
>コードの先頭(又は末尾)に固定のアルファベットを付けるなどしておけば、・・・・
という方法を用いればCOUNTIF関数でも正しくカウントできます。
つまり、作業列が許されるなら作業列を用いて、例えばC1セルに="A"&A1を入れてC7まで下方向へコピーしておいてから、A8セルに
=COUNTIF(C1:C7,"A1001")・・・①
のように頭にアルファベットを付けた条件でカウントすればよいことになります。
既出の回答のとおり、
=SUMPRODUCT((A1:A7="1001")*1)・・・②
という数式で解決できるのですが、COUNT系の関数を用いる方法としては、COUNTIFS関数を用いる方法もあります。1001をカウントする場合、A8セルに
=COUNTIFS(A1:A7,1001,A1:A7,"1*")・・・③
を入れて、数値としては1001、かつ、1から始まる文字列、という条件でカウントする方法です。同様に01001は
=COUNTIFS(A1:A7,1001,A1:A7,"01*")・・・④
同様に001001は
=COUNTIFS(A1:A7,1001",A1:A7,"001*")・・・⑤
とすればカウントできます。
FILTER関数が使用できるバージョンなら
=COUNTA(FILTER(A1:A7,A1:A7="1001"))・・・⑥
とする手もあります。
但し、⑥の数式は注意が必要です。検索値にA列に存在する値を使っている場合は問題ないのですが、A列に存在しない値を使用した場合、結果が0ではなく1になってしまうという問題があります。ですから、
=COUNTA(FILTER(A1:A7,A1:A7="1000"))・・・⑦
などとすると、0になって欲しいのに1になってしまいます。googleスプレッドシートなら、
=COUNTA(IFERROR(FILTER(A1:A7,A1:A7=検索値文字列)))・・・⑧
とすれば、正しくカウントできますが、⑧の数式はEXCELではエラーとなり使用できません。
質問寄せてから、所期の質問内容は概ねクリアーしておりましたが、当方の不手際で質問を閉じないまま保留にしておりました。
この中、このような事例を示していただきながらご教授いただき感謝いたしております。
引き続きご指導お願いします。
No.3
- 回答日時:
A8=SUMPRODUCT((A1:A7="1001")*1)
として見てください。
No.2
- 回答日時:
こんにちは
「商品コード」って普通は桁数を合わせておくような気がしますが・・
A列は必ず文字列で入力されているとしてよいのなら、
=SUMPRODUCT((A1:A7="1001")*1)
でカウントできます。
ただし、上式は数値として入力されている「1001」があっても、違うものと見做してカウントしません。
数値と文字列は見た目に紛らわしい場合があるので、コードの先頭(又は末尾)に固定のアルファベットを付けるなどしておけば、間違えの防止になると思います。
また、そのようにすることで、ご提示のCOUNTIFの式でもカウントできるようになります。
ありがとうございます。
例として商品コードとして提示しておりましたが、実際は全国の県、市、郡№を活用した資料作成に取り込んでいる最中に頭に0が付いただけで地域が変るのにエクセルで関数集計している中で教えて頂きたい不具合に遭遇したところでした。
教えていただいた関数式で質問の所期の目的をクリアー出来ました。
No.1
- 回答日時:
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Dir関数のDo Whileステートメン...
-
外車 色コード BMW 色コード オ...
-
Gmailを開いた状態でもうひとつ...
-
楽譜のコードについている「a...
-
JANコード、ITFコードの作成
-
JAN コードとITFコードの違い...
-
草刈の際に電源ケーブルを切断...
-
ギターのTAB譜の記号 N.C....
-
情熱をなくさないで ギターコード
-
ギターで2弦2フレットと3弦2フ...
-
掃除機のコンセントについて
-
リアルガチで耳コピ無双→コード...
-
Am7(-5)(onE♭)とCm(onE♭)コード
-
あなたが一番好きなギターのコ...
-
D7alt
-
JOBコードってなんでしょうか?
-
おサイフケータイを登録すると...
-
onって何ですか?
-
Gacktさんの『野に咲く花...
-
[VBA]ファイル名の末尾にA~Zを...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
外車 色コード BMW 色コード オ...
-
Gmailを開いた状態でもうひとつ...
-
Dir関数のDo Whileステートメン...
-
ギターのTAB譜の記号 N.C....
-
だいたいのスーパーでは天ぷら...
-
先日、電気コードに熱いお湯か...
-
【マクロ】PasteSpecialメソッ...
-
草刈の際に電源ケーブルを切断...
-
【HULFT】 utllist とutladmin
-
VBA ダブルクリックするたびに...
-
Dadd11というコードについて
-
この写真の状態(銅線剥き出し)...
-
マイナーの裏コードは存在する?
-
【EXCEL-VBA】PDFファイルを開...
-
Jeff Beck「Red Boots」のコー...
-
ドライアーのコードから煙が出...
-
実行時エラー3251対応処理方法
-
onって何ですか?
-
ベンダーコードについて教えて...
-
流用の定義について
おすすめ情報