[[20070322145243]] 『何人いるのか数えたい』(たむりん) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『何人いるのか数えたい』(たむりん)

 いつもお世話になっております^^
 過去ログ「種類 数える」で検索したのですが、良い方法が見つかりませんでした。
 (検索下手?)

 B3からB22まで氏名を入力する欄があるのですが、いつも全て埋まっているわけではありません。
 B23に何人と数字を出せればと思っております。
 (今まで目で追って数えていました^^;)
 ちなみに同姓同名はおりません。
 他部門から同じものがいくつも届くことになるので、最終的には串刺し集計をしたいと思っています。
 よろしくお願い致します。
 WinXP Excel2000


 こんにちは〜♪

 >ちなみに同姓同名はおりません。

 でしたら

 COUNTA関数でいかがでしょうか?

 と思ったのですが〜。。

 >他部門から同じものがいくつも届くことになるので、
 >最終的には串刺し集計をしたいと思っています。

 この説明が良くわかりませんので?

 カン違いかな〜?

 。。。Ms.Rin〜♪♪


 Ms.Rinさん、ありがとうございます&説明が下手ですみません。
 同姓同名はいないのですが、同じ方の名前が何個もある場合もあります。

 例えば、
 田中 一郎
 佐々木 次郎
 鈴木 太郎
 山田 花子
 佐々木 次郎
 ・・・とあった場合、4と返したいのです。
 串刺し集計はこの後自分で出来ると思いますので、とりあえず忘れて下さいm(__)m
 (たむりん)

 >同姓同名はいないのですが、同じ方の名前が何個もある場合もあります。

 同姓同名とおなじ事じゃないかと思うんですが?

 こんな表の場合です。。

	A
[1]	田中 一郎
[2]	佐々木 次郎
[3]	鈴木 太郎
[4]	山田 花子
[5]	佐々木 次郎
[6]	

 =COUNT(INDEX(1/(MATCH(A1:A10,A1:A10,)=ROW(1:10)),))

 で、いかがでしょうか?

 。。。Ms.Rin〜♪♪


 Ms.Rinさん、ありがとうございます。お返事遅くなってすみませんm(__)m

 B3からB22まで氏名を入力する欄があるのですが、いつも全て埋まっているわけではありません。
 B23に何人と数字を出せればと思っております。

 Ms.Rinさんの式のA1:A10をB3:B22に変更しました。ROW(1:10)をROW(3:22)に変えるとエラーになってしまいます。
 (たむりん)

 こんばんは〜♪

 >B3からB22まで氏名を入力する欄があるのですが、
 >いつも全て埋まっているわけではありません。

 >ROW(1:10)をROW(3:22)に変えるとエラーになってしまいます。

 は、こんな風になります。

 =COUNT(INDEX(1/(MATCH(B3:B22,B3:B22)=ROW(1:21)),))

 Ms.Rinでした〜♪♪


 こんにちは。
 Ms.Rinさん、ありがとうございます。
 なかなかここへ来られなくて、すっかりお返事が遅くなってしまってすみませんm(__)m
 Ms.Rinさんの指示どおりの関数を入れたのですが、上手く数えてくれない模様です;;
 	〔B〕
 3	田中 一郎
 4	田中 一郎
 5	田中 一郎	
 6	田中 一郎	
 7	山田 花子	
 8	鈴木 太郎	
 9	佐々木 次郎	
 10	田中 一郎
 ・
 ・
 ・
 23      4

 例えば、上記のように出したいのですが、B23の答えが2になってしまいます。
 わたしが根本的に勘違いしているのでしょうか?	
 (たむりん)


 こんにちは〜♪

 >わたしが根本的に勘違いしているのでしょうか?	

 ゴメンナサイ!!

 =COUNT(INDEX(1/(MATCH(B3:B22,B3:B22,)=ROW(1:21)),))

                                    ↑ の , が、抜けていました。

 。。。Ms.Rin〜♪♪

 


 Ms.Rinさん、ありがとうございます。
 きちんと数えてくれました^^
 教えて下さった数式はCOUNT以外はほとんど使ったことがありませんでした。
 ROW関数はこちらで教えていただいて少し使った程度で、複雑に関数が絡み合ってくると混乱してしまいます。
 恥ずかしながら初心者から抜け切れていませんorz
 もしお時間がございましたら、こちらの関数の意味をおしえていただけると嬉しいです。
 (たむりん)

Rinです。。♪

 >こちらの関数の意味をおしえていただけると嬉しいです。

 うまく説明できるかどうかわかりませんが〜。。。

 こんな表の場合です。

	A	B	C	D
[3]	田中	1	TRUE	1
[4]	田中	1	FALSE	#DIV/0!
[5]	田中	1	FALSE	#DIV/0!
[6]	田中	1	FALSE	#DIV/0!
[7]	山田	5	TRUE	1
[8]	鈴木	6	TRUE	1
[9]	佐々木	7	TRUE	1
[10]	田中	1	FALSE	#DIV/0!
[11]		#N/A	#N/A	#N/A
[12]		#N/A	#N/A	#N/A
[13]	MS.Rin	11	TRUE	1
[14]		#N/A	#N/A	#N/A
・
・
[23]				5

 ★A14〜A22までは、未入力ですから表から省略しました。

 今回の式
 =COUNT(INDEX(1/(MATCH(B3:B22,B3:B22,)=ROW(1:20)),))

 を分解してみますと少しは
 お解りになるかと思います。

 ★B列
 B3セルへ
 =MATCH(B3,$B$3:$B$22,0)

 ★C列
 C3セルへ
 =C3=ROW(A1)

 ★D列
 D3セルへ
 =1/D3

 すべて22行目までコピーします。

 と、表の様になります。
 ★D列を COUNT関数で計算します。
 D23セルへ
 =COUNT(E3:E22) 答→ 5 

 ★INDEX関数に付いては、
 作業列を3列使ってCOUNTしますと=COUNT(E3:E22)
 で計算出来ますが。

 3列の式をまとめた場合は
 1/(MATCH(B3:B22,B3:B22,)=ROW(1:20))
 式の中のこの部分をドラッグして反転させ
 F9を推すと以下の様に、解散結果が解りますので。
  ↓

 {1;#DIV/0!;#DIV/0!;#DIV/0!;1;1;1;#DIV/0!;#N/A;#N/A;1;#N/A;#N/A;
#N/A;#N/A;#N/A;#N/A;#N/A;#N/A;#N/A},))

 こんな配列なりますから、
 =COUNT(E3:E22) の様な
 計算出来ませんので

 INDEX関数を使います。
 (難しいかな〜)

 =COUNT(INDEX(E3:E22,)) こんなイメージです。

 ★ちなみに、INDEX関数無しでも
 =COUNT(1/(MATCH(B3:B22,B3:B22,)=ROW(1:20)))

 Ctrl+Shift+Enter キーで式を確定します。
 式が { } で囲まれます。
 この配列数式でも同じ計算が出来ます。

 配列数式は、こちらが参考になると思います。

 配列数式講座
http://pc.nikkeibp.co.jp/pc21/special/hr/index.shtml

 説明がヘタで、すみません。。

 解らない所は、最レス下さいませ〜。。。

 。。。Ms.Rin〜♪


 おはようございます。
 Rin♪さん、ありがとうございます^^

 ・・・今のところ・・・何がどう解らないのか、自分で解りません(汗)
 時間をかけて解読してみようと思います。
 また後日質問させて下さい。
 ヘタレですみません><
 (たむりん)

コメント返信:

[ 一覧(最新更新順) ]


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