• ベストアンサー

データ件数のカウント方法

A列に文字列で以下のようなコードが入っていたとします   |  A --------- 1 | 101 2 | 011 3 | 010 4 | 001 5 | 000 このコードの各桁に1の数をカウントしたいのです。 1桁目 1個 2桁目 2個 3桁目 3個 B列、C列、D列に = left(A1,1)などでリストアップして その列で集計する方法は分かるのですが 列数が多いのでこれ以上増やしたくありません。(わがままですいません) 配列数式なるものでやればできるような気がするのですがよく分かりません。 ご存知のかたご教授ください。よろしくお願いします

質問者が選んだベストアンサー

  • ベストアンサー
  • comv
  • ベストアンサー率52% (322/612)
回答No.1

こんにちは! データが文字列なら 1桁目 =COUNTIF($A$1:$A$5,"1??") 2桁目 =COUNTIF($A$1:$A$5,"?1?") 3桁目 =COUNTIF($A$1:$A$5,"??1") では如何でしょうか!

Fat01ton
質問者

お礼

ご回答ありがとうございます。 検索条件で”?”が使えるとは知りませんでした。 勉強になりました。ありがとうございます。

その他の回答 (2)

  • papayuka
  • ベストアンサー率45% (1388/3066)
回答No.3

こんにちは。 SUMPRODUCT関数なら、Ctrl+Shift+Enterの必要なく出来ますよ。 =SUMPRODUCT(LEFT($A$1:$A$10,1)*1) =SUMPRODUCT(MID($A$1:$A$10,2,1)*1) =SUMPRODUCT(RIGHT($A$1:$A$10,1)*1)

Fat01ton
質問者

お礼

ご回答ありがとうございます。 SUMPRODUCT関数は知っていたのですが 配列の値の積を出す関数とばかり思っていました。 こんな使い方が出来るとは知りませんでした。 勉強になりました。ありがとうございました。

  • nishi6
  • ベストアンサー率67% (869/1280)
回答No.2

お望みの?配列数式です。 最初の桁(一番左)  =SUM(MID($A$1:$A$5,1,1)*1) 真中の桁  =SUM(MID($A$1:$A$5,2,1)*1) 最後の桁(一番右)  =SUM(MID($A$1:$A$5,3,1)*1) (入力して、Ctrl+Shift+Enter です。) comvさんの ? を使ったCOUNTIFには思わず、うなってしまいました。いいものを見ました!

Fat01ton
質問者

お礼

ご回答ありがとうございます。 なるほどMID関数で検索後”*1”をSUM関数するとは! 希望の数値が取得で来ましたありがとうございます。 >お望みの?配列数式です。 すいません。 正直、配列数式と言うものがどういうものか知りません。 このような場合に使えるということを聞いたことがあるので書かさせていただきました。

関連するQ&A

専門家に質問してみよう