• ベストアンサー

Excelで、異なる値ごとのセル数を数える

ある列の各セルに文字列の値が入っているとして、全部で何種類の値があるか未知の場合に、値別のセル数を数えるにはどうしたらいいでしょうか。つまり、 田中 鈴木 安藤 田中 李 トランプ 田中 田中 安藤 … のような列で、全部で何種類の名前が登場するかは分からない場合に 田中 3 鈴木 2 スミス1 … といったふうに、登場するすべての名前についてその回数を得たいのですが。一度に行うのが困難であれば、複数の手順を踏むのでもかまいません。

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

  • ベストアンサー
回答No.3

いろんなやり方があると思いますが、 個人的にはピボットテーブルもオススメです。 ピボットテーブル作成の詳しい手順は別途お調べ頂くとして・・ 例えば「文字列の値」がA列に入っていて、 かつ1行目に項目名(例えば「名前」)が入っていることを前提に、 (2007以降の場合、標準で) ・挿入タブから「ピボットテーブル」 ・テーブル/範囲にA列を指定(例:Sheet1!$A:$A)して、OK  (新規シートが作られ、   画面右に「ピボットテーブルのフィールド」設定が表示されます。   以下、その中での作業です。) ・「名前」を「行」にドラッグ・ドロップ ・「名前」を「値」にドラッグ・ドロップ お望みの > 登場するすべての名前についてその回数 を得るならここまでで完了です。 件数にも依りますが、複雑な関数を組み込むと動きが渋くなったりしますし、 複雑な関数は読み解くのも改変するのも手間がかかります。 ま、慣れなんですけどね。 なので個人的には(手間は少しかかりますが)コチラをオススメします。

noname#226683
質問者

お礼

この方法が一番きれいなように思います。重複削除のような破壊的変更をしなくて済むところも気に入りました。ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (4)

  • msMike
  • ベストアンサー率20% (363/1775)
回答No.5

添付図参照 1.範囲 A1:A9 を列Bにドラッグ&ペースト 2.範囲 B1:B9 を選択 3.[データ]→[データツール <重複の削除>]を実行 4."現在選択されて…替える"に目玉を入れて[重複  ̄ ̄の削除]→[OK] 5.式 =COUNTIF(A:A,B1) を入力したセル C1 を  ̄ ̄下方にズズーッとオートフィル

全文を見る
すると、全ての回答が全文表示されます。
  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.4

質問者はエクセルといえば関数ぐらいにしかやってないのではないかと推測する。そういう質問者が多い。 しかし、「ピボットテーブル」でやると一発だ。 列の見出し(「氏名」とする)をA1セルに入れて、A列を範囲指定。 挿入ーピボットテーブルーピボットテーブルの作成ーOK 氏名を「行」と「Σ値」の位置にそれぞれマウスでD&D 結果(質問のデータを使って) 行ラベル データの個数 / 氏名 トランプ 1 安藤 2 田中 4 李 1 鈴木 1 総計 9 普通は「Σ値」に持ってきた項目の値は加算やその他の演算が使われるが、文字列を持ってくると、自動で、件数が計算される、というピボットテーブルの仕組みを使えるのだ。

全文を見る
すると、全ての回答が全文表示されます。
  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.2

例データ A2:A10 田中 鈴木 安藤 田中 李 トランプ 田中 田中 安藤 B2に式 =IF(COUNTIF($A$2:A2,A2)=1,COUNTIF($A$1:$A$10,A2),"") B10まで式を複写 結果 A2:B10 田中 4 鈴木 1 安藤 2 田中 李 1 トランプ 1 田中 田中 安藤 重複する氏名を除いて件数を出すには、重複しない氏名だけ集める、操作か関数が、前段階に必要です。 操作では >重複しない値を抽出するには、[データ] タブの [並べ替えとフィルタ] で [詳細設定] を使用します。 https://support.office.com/ja-jp/article/%E9%87%8D%E8%A4%87%E3%81%97%E3%81%AA%E3%81%84%E5%80%A4%E3%82%92%E6%8A%BD%E5%87%BA%E3%81%99%E3%82%8B%E3%80%81%E3%81%BE%E3%81%9F%E3%81%AF%E9%87%8D%E8%A4%87%E3%81%99%E3%82%8B%E5%80%A4%E3%82%92%E5%89%8A%E9%99%A4%E3%81%99%E3%82%8B-ccf664b0-81d6-449b-bbe1-8daaec1e83c2

全文を見る
すると、全ての回答が全文表示されます。
  • bunjii
  • ベストアンサー率43% (3589/8248)
回答No.1

>ある列の各セルに文字列の値が入っているとして、 A列に値が入っていると仮定させていただきます。 >登場するすべての名前についてその回数を得たいのですが。 COUNTIF関数で計数できます。 >一度に行うのが困難であれば、複数の手順を踏むのでもかまいません。 A列をC列へコピーしC列を選択して重複の削除を実行すれば計数対象の文字列が抽出できたことになります。 D列へ出現回数をカウントする数式を次のようにすれば良いでしょう。 D1=COUNTIF(A:A,C1) D1セルを下へ必要数コピーすれば目的通りになります。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 別々の行で一致するセルの値を抽出する

       A    B 1  田中   山本 2  鈴木   佐藤 3  山本   奥田 この場合 A列とB列の両方に同じ文字がある時にC列にしるしが欲しい。もしくは別のシートにそのセルの値(文字)を反映させたい。 のですがなかなか数式が完成しません。IF関数?LOOKUP系? 誰か教えて下さい!

  • エクセル 表から指定した値を取り出す関数

    エクセルの関数について教えてください。 エクセルの表があって、そこの列項目と行項目を指定した時に クロスするセルの値を取り出すことをしたいのですが、 どのような関数を用いれば実現できるのでしょうか? 具体的には以下のような表をエクセル上に書いてあるとします。    国語 算数 英語 田中 80 70 60 鈴木 50 90 80 で、任意のセルに田中の国語の点数を示そうとした時、 どのような関数を書けばいいのでしょうか? わかりにくい説明かもしれませんが、宜しくお願いします。

  • Excelで色のついたセルの数を数えたい

    教えて下さい。お願いします。 3000件程のデータが入力されていて、セルの値の種類ごとに セルの色で色分けされています。 これを、赤のセルは何件、青のセル何件、というふうに 関数を使用して集計するにはどうすればいいでしょうか。 色は全部で3種類と色がないもの、合計4種類です。

  • エクセルでまた困っています。

    エクセルでまた困っています。 さて、ファイルをいじっていますと新たな難問が・・・すみませんお教え下さいませ。 ご多忙のところよろしくお願いいたします。 たとえば A列 のセル 4行 で 4つが人の名前が入っています。 A列 田中(p) 鈴木 山田 福田 結果として名前の文字が入っているセルは4つですが ご覧いただいたように田中の名前には(P)という文字がセルにうめこんであります。結果として(P)が記されている名前のみ カウントする方法はあるのでしょうか?((P)のついている名前は1個 (P)のついていない名前は3個)として表示する方法です。) よろしく御教示くださいませ。

  • エクセルのセル文字列末尾だけを削除する方法ありますか?

    こんにちは。 エクセルで各セルに ------------------------ 山田さん 鈴木 田中さん 木村さんと川村さん ------------------------ のような最後に”さん”がついている場合とついていない場合があります。 ”さん”を置換して空白にすれば削除できるのですが、 木村さんと川村さん のセルの”木村さん”の”さん”は削除せず、セルの文字列末尾の”川村さん”の”さん”は削除したいのです。 希望としては、 ------------------------ 山田 鈴木 田中 木村さんと川村 ------------------------ の様な形にしたいのですが、何か良い方法ありましたらアドバイス頂けませんでしょうか? よろしくお願いいたします。

  • Excelで人数カウントをしたいのですが、、

    Excel2002を使用しています。 まだ初心者で関数などあまりわかりません。 一生懸命考えてますが、なかなかいい案が思いつかないので どうかどうかよろしくお願いいたします! --------------------------------------- 社員の名前が1000行ぐらいに渡って入っています。 そこには同じ名前が何度か出てきます(連続ではなくとびとびで)。 その場合、たとえば田中さんだったら 一番最初に田中とでてくる行の隣のセルだけに 1とカウントしたいのです。 たとえば下記のような感じです。 最終的には人数の合計を出したいのです・・・ ------------------------------------   A  B 1  名前 人数 2 田中 1 3 鈴木 1 4 田中 5 山本 1 6 鈴木 ------------------------------------ 同じ名前が連続のときであれば、IF(A2=A1,\"\",1) という式を思いついたのですが、それだと 離れてまた登場したときに、同じ名前に1が入ってしまいます。 何かいい方法、関数などございましたら、 ぜひぜひお教えください!! よろしくお願いいたします。

  • エクセル

    エクセルでのカウント方法の関数がわかりません。 A列 B列 田中 福岡 田中 福岡 田中 福岡 鈴木 佐賀 鈴木 佐賀 田中 長崎 田中 長崎 このようなデータで、A列の条件でB列の種類を返すにはどのような方法がありますでしょうか? 田中2 鈴木1 わかりにくくて申しわけないですけど、よろしくお願い致します。

  • エクセルで条件に一致したセルの隣のセルを取得したい

    下のような「得点」という名前のシートがあります。 (「田中」のセルがA1です。)  [ 田中 ][ 10 ][ 200 ]  [ 山田 ][ 21 ][ 150 ]  [ 佐藤 ][ 76 ][ 250 ]  [ 鈴木 ][ 53 ][ 350 ] 別のシートのA1セルに、「佐藤」と入力すると、  [ 佐藤 ] 「得点」シートから「佐藤」の列を見つけて、B1、C1に  [ 佐藤 ][ 76 ][ 250 ] のように表示させたいのですが、B1、C1にはどのような式を書けば良いのでしょうか。 「得点」シートでは氏名が重複する事はありません。 IF文を使うと思うのですが、いまいち良く分かりませんでした。 よろしくおねがい致します。

  • エクセル 特定の文字を含むセルを かえす

    教えてください! 特定の文字を含むセルを返したいのです。 たとえば C1セルに 田中ゆうこ D1セルに 佐藤いちろう E1セルに 酒井みみ F1セルに 鈴木かなえ G1セルに 久保ごう こんな風に横に名前があるデータがあります。 A1セルに「鈴木」と入力したら C1~G1にある「鈴木」とつく名前を検索し、 該当したらB1セルに返したいのです。 この場合 B1セルに 「鈴木かなえ」と返ってほしいのですが どのようにしたら出来るのでしょうか? また、横列の名前の中に同名は存在しません。 どうぞ皆様の知恵をお貸しください! お願いいたします。

  • エクセルの積み立て棒グラフへ複数の値を割り当てたい

    このようなデータを積み立て、 H9.4.1 H10.4.1 順位 点数 順位 点数 山田 03位 85 01位 89 田中 02位 96 03位 68 鈴木 05位 66 02位 76 柴田 01位 100 04位 65 佐野 04位 70 05位 58 以下のように、系列名と値を各棒の中に表示させた 積み立て棒グラフで表現したいのですが、 順位と点数の様に2種類の値をデータラベルに割り当てる方法が どうしてもわかりません。    | 佐野,03位,70 | | 佐野,05位,58 |    | 柴田,01位,100| | 柴田,04位,65 |    | 鈴木,05位,66 | | 鈴木,02位,76 |    | 田中,02位,96 | | 田中,03位,68 |    | 山田,03位,85 | | 山田,01位,89 | H9.4.1 H10.4.1 どなたか、教えて頂けますでしょうか。

専門家に質問してみよう