性格いい人が優勝

Excelの質問です。同じ文字列が複数あった場合、それはいくつあっても1とカウントしたいのですが、なかなかうまくいかないので、お力を貸して下さい!

例として、添付画像のような表があったとします。
今回求めたいのは「色の種類」と「合計」です。

①「色の種類」は、その日に何種類の色を使用したか種類の数を求めたい

②「合計」は、1日に複数同じ色があってもそれは1と数えた状態で、すべての日数分の合計を求めたい

というものなのですが、どのような数式を使用すればよろしいでしょうか?
ご回答いただけると嬉しいです。
宜しくお願い致します!

「Excel 数の数え方 種類の数を数えた」の質問画像

A 回答 (4件)

こんばんは!



一案です。
この質問限定の関数(ユーザー定義関数)を作ってみてはどうでしょうか?
(二つのユーザー定義関数を作ってみました)

Alt+F11キー → メニュー → 挿入 → 標準モジュール → VBE画面のカーソルが点滅しているところに↓のコードをコピー&ペースト

Function nikkei(myRng As Range) '//この行から//
 Dim cnt As Long, c As Range, myStr As String
  For Each c In myRng
   If InStr(myStr, c) = 0 Then
    cnt = cnt + 1
    myStr = myStr & c & ","
   End If
  Next c
   nikkei = cnt
End Function

Function goukei(myArea As Range, c As Range)
 Dim i, cnt As Long, myRng As Range
  For i = myArea(1).Row To myArea(myArea.Count).Row
   Set myRng = Range(Cells(i, myArea(1).Column), Cells(i, myArea(myArea.Count).Column))
    If WorksheetFunction.CountIf(myRng, c) > 0 Then
     cnt = cnt + 1
    End If
  Next i
   goukei = cnt
End Function '//この行まで//

Excel画面に戻り(VBE画面を閉じて)通常の関数と同じ使い方をします。

画像の配置では、まずF2セルに
=nikkei(B2:E2)

という数式を入れ下へフィル&コピー!
B9セルに
=goukei(B$2:E$5,A9)

という数式を入れ下へフィル&コピー!

これでもお望みの結果になると思います。m(_ _)m
    • good
    • 0
この回答へのお礼

すごい!出来ました!!

お礼日時:2018/09/07 14:44

②はNo.1さんがご提示の方法で。



①は以下でどうでしょうか(ブランクの処理が難しいですね)
F2
=SUMPRODUCT(1/COUNTIF($B2:$E2,IF(ISBLANK($B2:$E2),"",$B2:$E2)))-IF(COUNTBLANK($B2:$E2)>0,1,0)

②と同様に配列数式なので、式をコピペした後、Ctrlキー、Shiftキー、Enterキーの同時押しで確定してください。
その後、下方向にフィルコピーです。
    • good
    • 0
この回答へのお礼

ブランクの処理で悩んでいたところです!ありがとうございます!!

お礼日時:2018/09/07 14:47

No1です。



数えるだけなので、配列数式にする必要はなさそうな気がしてきました。

スマホからなので未検証ですが、
 =COUNTIF(MMULT(IF($B$2:$E$5=$A9,1,0),{1;1;1;1})>0)
だけでよさそうに思います。
    • good
    • 0

こんにちは



①は検索すればたくさん解説しているサイトが見つかるはずです。
以下はその一例
https://www.excelspeedup.com/unique/
https://bellcurve.jp/statistics/blog/15370.html

②は解説サイトを探すより、作成した方が早そうなので…
ご提示のレイアウトで、B9セルに
 =SUM(IF(MMULT(IF($B$2:$E$5=$A9,1,0),{1;1;1;1})>0,1))
の式を入れ、Ctr+Shift+Enterで確定(←配列数式なので必須です)
確定後、下方にフィルコピーでいかがでしょうか?
    • good
    • 0
この回答へのお礼

ありがとうございました!!できました!

お礼日時:2018/09/07 14:46

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!