名前の重複件数を省く方法

現在「=COUNTIF(B2:B24,"*")」という形で文字が入っているセルにの件数を数えさせるようになっているのですが、同じ名前が複数入っていた時に一つの名前として数えさせるようにするにはどうしたらよいのでしょうか?例えば・・・
キムラ タカシ
キムラ タカシ 
サトウ フミコ
アンドウ リョウコ
・・・の場合、キムラ タカシが重複しているので1件として数えるようにして合計3件というような答えを自動的に出してもらいたいと思っていて「教えてgoo」の方で質問した所「=SUMPRODUCT(1/COUNTIF(B2:B24,B2:B24))」のような関数を使えば解決出来るという事で試してみたのですが、Excelのでは、うまくいくのですがNumbersでは「〜は一つの値として使用する事が出来ません。」というエラーが表示されます。どうしたら良いのでしょうか?もし詳しい方がいらっしゃいましたら教えて下さい。よろしくお願いします。

投稿日 2007/12/14 16:30

返信: 2

2007/12/19 00:50 Community User への返信

うーん・・・Numbersではちょっと難しいですねぇ(^^;;; SUMPRODUCTはNumbersの場合文字列ではエラーになります。 それとこれは個人的な感想ですが、「=SUMPRODUCT(1/COUNTIF(B2:B24,B2:B24))」はつまり1を割っている訳で、3回同じ人が出てくると0.333....って、何だか気持ち悪くて。SUMする時に丸めれば良いって事なんでしょうけれど、なんだかなぁ。EXCELならVBAで同じ値が無いか探させれば良いだけなので簡単。。。
って事で、あまりスマートではありませんが、Numbersで使えるものでやるとなると下記はどうでしょう。
列を一つ足してB2:B24に行番号を足します。つまり1〜23ですね。名前はC2:C24にずれます。で、D2にはこう入れます。
=IF(C2="","",IF(B2=MATCH(C2,$C$2:$C$24,0),1,0))
で、あとはD24までドラッグ(参照するC2:C24は絶対参照ねもちろん)。最初のIFは名前が入っていないとエラーがでてカッコ悪いので何も入力されてなければ空白をいれろ、と。で、何か入っていれば(次のIF)今度はMATCHを使って(MATCHが何をする関数なのかはHELPで読んでね)同じモノが無いかどうか検索し、同じモノがあるセルを上から数えて何番目に入っているかを出します。で、B列の行番号と違う場合には他の行に同じモノが入っているって訳で「0」を入れ、行番号と一致すればユニーク、もしくは一人目(1回目)だということで「1」を入れるようにします。
で、D25に
=SUM(D2:D24)
があれば、OKと。つまり一発でやろうとせずにカウントする列を作る、で、如何でしょうか。

2007/12/19 21:35 Community User への返信

お返事どうもありがとうございます。やっぱりNumbersでは、うまくいかないんですね。SUMPRODUCTは、文字とかが扱えなかったんでしょうかね・・・
片言の英語ながら海外のDiscussion Boardsの方にも助けを求めてみた所、このような方法がある事を教えてくれました。
http://discussions.apple.com/thread.jspa?threadID=1294061&tstart=15
しばらくは、usadii3や海外の方に教えてもらった方法を利用させてもらおうと思います。

このスレッドはシステム、またはAppleコミュニティチームによってロックされました。 問題解決の参考になる情報であれば、どの投稿にでも投票いただけます。またコミュニティで他の回答を検索することもできます。

名前の重複件数を省く方法

Apple サポートコミュニティへようこそ
Apple ユーザ同士でお使いの製品について助け合うフォーラムです。Apple Account を使ってご参加ください。