以下のような、ある施設の利用者一覧表です。
A列には利用した日にち、B列には利用者のIDがあります。
A | B
日にち | ID
01/10 | 0001
01/10 | 0002
01/13 | 0001
01/15 | 0003
01/17 | 0001
これをEXCELで延べ人数ではなく、同じIDが複数回出てきても1とカウントしたいのですが方法が分かりません。
上記の表では0001、0002、0003しかありませんので3という数字を求めたいのです。
出来れば作業列を使いたくないのですが、やむをえない場合はしょうがないかなと思います。
宜しくお願いします。
No.9ベストアンサー
- 回答日時:
#7です
◆すでに同じ回答をzap35さんがされていました
◆大変失礼しました
◆文字列または数値で途中空白があってもよい方法で別の式(少し長いですが)
=INT(SUMPRODUCT(1/SUBSTITUTE(COUNTIF(A1:A100,A1:A100),0,100)))
◆もし、ID番号が数値であればこんな方法も
=COUNT(1/FREQUENCY(A1:A100,A1:A100))
=COUNT(1/FREQUENCY(A1:A100,A1:A100))
↑この関数は数値限定のようですが簡単でいいですね。
ありがとうございました。
No.8
- 回答日時:
#6です。
#6の最後の方で言った、SUMPRODUCT関数の利用例です。
例データ A列
001
002
001
002
003
004
002
004
006
007
上記以外のどこかのセルに
=SUMPRODUCT((COUNTIF(OFFSET($A$1,0,0,ROW(A1:A10),1),A1:A10)=1)*1)
と入れる
結果
6
SUMPRODUCT関数で出来ないかなと思い色々と試してみたのですが、こういう方法があったんですね。ありがとうございました。
またOFFSET関数は初めて見ました。これから勉強したいと思います。
No.7
- 回答日時:
◆途中に空白があっても範囲は一致していなくともできますよ
=COUNT(INDEX(1/(MATCH(A1:A100,A1:A100,)=ROW(A1:A100)),))
No.6
- 回答日時:
配列数式でもできます。
例データ
001
002
001
003
002
003
001
004
003
006
003
007
件数を出すセルに
=SUM(IF(COUNTIF(OFFSET($B$2:$B$100,0,0,ROW(B2:B100)-1,1),B2:B100)=1,1,0))
と入れて、SHIFT,CTRL,ENTERのキーを同時に押す。
結果
8
なお式の中ではB列100行までを対象にしてます。適当に変えてください。
式の意味は、最上行から注目行までに付いて、注目行の内容でCOUNTIFを出して、結果が1すなわち、初出行なら1を加えて(それ以外は0を加えて)全行に渉る合計を出してます。
注目行が下に行くにつれ、範囲を1行づつ広げてますが、そこが配列数式で技巧を使う点です。それ以外は人間が見て数える場合と似た素直な考えを式に表現しているだけです。
ーー
配列数式とSUMPRODUCTは相補的ですので、SUMPRODUCT関数でも出きるかも知れません。(ただし本質問の既出回答のSUMPRODUCTとは違う式の形)
No.5
- 回答日時:
#04です。
式が間違っていました=COUNT(INDEX(1/(MATCH(B2:B100,B2:B100,0)=ROW(1:99)),))
になります。B2:B100は99行ありますのでROW関数は1:99を指定します。
この式も元はここで教えてもらったものです。
意味は本当はご自身で考えていただきたいのですが、配列数式を使っています。自分のセルの値でMATCH関数でB列を検索すると以下の結果が得られます。(式は「=MATCH(B2,B2:B100,0)」を下方向にコピーする)
これがROW(1:99)で発生する行番号と一致すると、そのIDははじめて出現し、一致しない場合は2度目以降に出現したことになります。
B列
ID
A0001 → 1 検索した結果=1行目の行番号と一致 → 初出
B0002 → 2 検索した結果=2行目の行番号と一致 → 初出
A0001 → 1 検索した結果=3行目の行番号と一致しない → 2度目以降
簡単にはこの一致した行数を数えていると考えてください。
1を割っているのは空白行の対策です。不一致の時はこれにより値が#DEV/0!エラーとなります。COUNT関数はエラー値は数えませんので空白行を無視することができます。
No.4
- 回答日時:
B列の途中に空白がなければ
=SUMPRODUCT(1/COUNTIF(B2:B100,B2:B100))
でB列の重複しないID数を求められます
B列の途中に空白がある場合は、多少長くなりますが
=COUNT(INDEX(1/(MATCH(B2:B100,B2:B100,0)=ROW(B2:B100)),))
で求められます。
COUNT関数をコピペしてみたのですが、ゼロになってしまいます。
また宜しければそれぞれの意味を教えて頂けますか?
例えば『INDEX(1/』とか『=ROW(B2:B100)』とかです。
No.1
- 回答日時:
「データ」「フィルタ」「フィルタオプションの設定」で
「重複するレコードを無視する」チェックを使えば、
利用者を重複せずに抽出することが出来ますよ。
http://www.eurus.dti.ne.jp/~yoneyama/Excel/filte …
まあ、ID順にソートすれば、重複したIDはまとまって出てきますので
目視でチェックしても、=IF(A1=A2,0,1) としてカウントしてもいいん
ですけど。計算が終われば日付順にソートしなおせば元に戻りますし。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
許せない心理テスト
私は「あなたの目の前にケーキがあります。ろうそくは何本刺さっていますか」と言われ「12本」と答えたら…
-
フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
あなたが普段思っている「これまだ誰も言ってなかったけど共感されるだろうな」というあるあるを教えてください
-
映画のエンドロール観る派?観ない派?
映画が終わった後、すぐに席を立って帰る方もちらほら見かけます。皆さんはエンドロールの最後まで観ていきますか?
-
海外旅行から帰ってきたら、まず何を食べる?
帰国して1番食べたくなるもの、食べたくなるだろうなと思うもの、皆さんはありますか?
-
天使と悪魔選手権
悪魔がこんなささやきをしていたら、天使のあなたはなんと言って止めますか?
-
フィルターかけた後、重複を除いてカウントしたい。 すみませんアドバイスお願いします! 取引コード 販
Excel(エクセル)
-
=SUBTOTAL に =COUNTIF の機能を実装2
Excel(エクセル)
-
SUMPRODUCT 複数条件の重複データ件数
Excel(エクセル)
-
-
4
オートフィルタ絞込みの後、データ数のカウント方法
その他(Microsoft Office)
-
5
EXCELで条件に合致したデータから、さらに重複するデータを1と数える
その他(Microsoft Office)
-
6
Excel 重複を除いてデータ数をカウントする関数 (複数条件ありのケース)
Excel(エクセル)
-
7
エクセルで重複を除いた日付のカウント(条件付き)
その他(Microsoft Office)
-
8
Excel関数で重複と空白を除いてデータの件数を求める方法
Excel(エクセル)
-
9
エクセルでフィルターにかけたセル数だけカウントする方法はsubtotal(集計方法,範囲)だと分かっ
Excel(エクセル)
-
10
(エクセル関数)指定期間内で重複を除いて数え上げる方法
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで80万行、50列位のデ...
-
ゼロを表示
-
Excelの計算が合いません。 諸...
-
Excelの警告について
-
今まで文字化けなく開けていたc...
-
EXCELの散布図で日付が1900年に...
-
エクセルでファイルの最終更新...
-
エクセルの数式バーのフォント...
-
作成した数式を値として表示し...
-
ExcelでASCを使って全角を半角...
-
Excelセルを跨いで合計を出す方法
-
Excel 大小比較演算子による「...
-
Excel関数について教えてくださ...
-
マクロの処理が遅くなった
-
エクセルで入力すると隣のセル...
-
Excel関数について教えてくださ...
-
エクセルの文字が途中から消える
-
エクセルを使用して、円周率を...
-
エクセルのセル内に分数などの...
-
条件付き書式設定で罫線を引き...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelの警告について
-
Excelで数値を時間数に変換する...
-
エクセルの数式バーのフォント...
-
エクセルで数字の組み合わせを...
-
エクセルを使用して、円周率を...
-
Excelで特定の文字列が含まれて...
-
Excel 対象のセルに入力が無い...
-
任意の値が存在する行に名前を...
-
エクセルでファイルの最終更新...
-
index関数の説明をお願いします。
-
条件付き書式でやりたいのですが
-
重複しない値を取り出したい
-
【ExcelVBA】UTF-8(BOM無)でC...
-
【マクロ】マクロが割当てされ...
-
エクセル IF計算式?でしょうか?
-
エクセルで曜日を入れたい
-
表中の指定した条件の文字列を...
-
【Excel】版が同じ事を示す番号...
-
EXCELの散布図で日付が1900年に...
-
Excelについて。Excelに縦1列に...
おすすめ情報