• ベストアンサー

エクセルで、文字列の合計表示をするには(その2)

文字列数をカウントする方法は伺ったのですが、文字列自体を区別してカウントする方法はあるのでしょうか。たとえば「田中」と「田中(田中に下線を引いて区別するなどした場合)」の合計は2で、うち下線を引いた田中は1などという方法です。 何度も質問してすみません。

  • ptna
  • お礼率43% (60/138)

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

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

名前の右の列を1列と、名前の定義を使います。 A1から名前が入力されているとすると、 B1を選択して(この位置は重要です、もしA2ならB2を選択してください)、 挿入メニュー→名前→定義→名前ボックスに「kasen」参照範囲に「=GET.CELL(59, Sheet1!A1)+NOW()*0」 OKボタン。 B1に =kasen-1 もしA1に1重下線が設定されていれば=kasenの戻り値は2です。 この2から1を引いて1、 あとはカウントすればいいわけです。 =SUM(B1:B10) です。 =kasenの戻り値の「数字」をカウントしているので、””はつきません。 ※ためしにB1から下のセルの書式を文字列にしてから2、1、2・・・などと半角で入力してください。 =SUM(B1:B10)は0を返します。

ptna
質問者

お礼

ありがとうございました。参考にさせていただきます。お返事が遅れてすみませんでした。

その他の回答 (4)

回答No.5

#4です。 =kasenの戻り値の「数字」をカウントしているので、””はつきません。 この1行は消し忘れです。すみません。

  • macchan1
  • ベストアンサー率38% (52/136)
回答No.3

>たとえば自動車で通勤している「田中」とそうでない「田中」とを区別して、自動車で通勤している「田中」○人、そうでない「田中」をうち△人というような表示ができればと考えたのです。 このような場合は自動車通勤の有無の列を作成するのが良いと思います(例えばB列に自動車通勤している人は「自」を入れる)。 このようにしておけは、田中で自動車通勤している人は以下の式で求められます(A列に名前)。 =SUMPRODUCT((A1:A1000="田中")*(B1:B1000="自"))

  • shkwta
  • ベストアンサー率52% (966/1825)
回答No.2

VBAを使うなどいろいろなテクニックがありますが、「どうしても下線でなければならない」といった事情がないのであれば、あとの点検・修正の容易さも考えて、シンプルな方法をお勧めします。 下線や色などの判定は技術的に可能ですが、かなり複雑になってしまいます。 下線が、会社とか地域とかなにか具体的なものを表わすなら、それ専用の列を作るほうが良いです。 たとえば、A列に姓、B列に名、C列に会社名、D列に性別が入っているとして、Z社に勤める男の田中さんの数を数えたいなら、E列に =IF(AND(A2="田中",C2="Z",D2="男"),1,0) などと式をいれ、E列の合計をSUMで求めればよいのです。 あるいは、条件がたくさんあって、それぞれの人数を求めたいなら、E列に =A2&C2&D2 などと入れて、COUNTIF関数で「村上ABC女」を数えれば、ABC社に勤める女の村上さんの人数がわかります。 DCOUNT関数を使うという方法もあります。

ptna
質問者

お礼

お世話になりました。試してみたいと思います。お返事が遅くなってすみませんでした。

  • macchan1
  • ベストアンサー率38% (52/136)
回答No.1

>たとえば「田中」と「田中(田中に下線を引いて区別するなどした場合)」の合計は2で、うち下線を引いた田中は1などという方法です。 まず、同じ田中というデータの数をカウントするならCOUNTIF関数を利用します。 また、下線とは書式で設定したのでしょうか?(エクセル2000にはそのような機能が無いもので確認です)。 基本的に書式は関数の計算対象となりませんが、具体的にどのような理由で区別したいのでしょうか? 目的によっては別の関数を利用すればできると思いますので、補足説明をお願いします。

ptna
質問者

補足

元々は一太郎で作成した名簿を、合計を出すためにエクセルで作成したいと考えたものでした。エクセルでは下線はないかもしれませんね。下線以外で、文字列を区別して表示できるものがあれば、それでもかまいません。 区別する理由ですが、たとえば自動車で通勤している「田中」とそうでない「田中」とを区別して、自動車で通勤している「田中」○人、そうでない「田中」をうち△人というような表示ができればと考えたのです。お手数をおかけします。

関連するQ&A

  • エクセルで、文字列の合計表示をするには

    エクセルで、文字列だけを入力して、その合計数を出すにはどうしたらようでしょうか。たとえば「田中」「柴田」「佐藤」と入れると「3」と表示できるような。  名簿を作成しており、氏名を入れるとその合計人数が出るようなものを作りたいと思っているのです。このばあい、氏名の前に番号表示をしないで、氏名のみの表示としたいのですが。 可能でしょうか。

  • 文字列の抽出を簡単にしたい

    文字列から特定文字列を抜き出すには、  文字列の位置、文字列数を指定しなくてはいけません。  現在 「=MID(B4,$D$1,$D$2)」で処理していますが、   文字列の最初が左から何番目か?、文字列数はいくつか?  と目で見てカウントしてd1,d2を決定しています。  このカウントする過程は、正直厄介です。  この操作を簡単に行う方法は無いのでしょうか ?

  • 文字列・文字列表示を含む数式の合計

        A列    B     C   1   3*2    15    文字列 2   20    文字列   5*5 3   4*3    3*3    18 上記の場合 A1:C3の合計値105を簡単に算出する方法を 宜しくお願い致します。

  • 斜体文字のみのカウント方法を教えてください。

    ExcelのVBAで斜体文字のみカウントすることはできますか? 例えば、下記のような文章で、A列に「田中」という文字列が斜体になっている場合 「田中」の文字列の合計をC列で取得したい。   A1          B1     C1(合計)  田中(斜体)     田中     1 使用OS:Windows 8 使用ソフト:Microsoft Excel 2010 ご存知の方がおられましたらご回答をよろしくお願いします。

  • ○列おきの数字を合計する

      現在エクセル2003を使用しています。  先日エクセルで集計表を作成している時に2列おき、3列おきの数値を合計する必要があり  「教えて!goo」の回答をいろいろ確認しましたが、3列おきは確認できませんでした。   一つ一つセル番地を選んで合計すれば出来ますが、列数が多い時は大変です。今後、4列おき・  5列おき・○列おきを合計する表の作成が必要になるかもしれません。   ぜひお知恵をお貸し下さい。

  • エクセルで文字列(数値)から任意の文字の数を数えたい。

    エクセルで数値(もしくは文字列)から任意の数値の数(もしくは文字の数)をカウントする方法を教えてください。例えば11111001という数値で1の数をカウントしたいということです。この場合6という返り値が欲しいと言うことになります。よろしくお願いします。

  • Excel 合計の出し方について

    Excelのカウントについて質問です。      A列   B列 1行目 1-2-3  1200 2行目 2-3-1  800 3行目 4-5-1  400 4行目 3-2-1  2000 5行目 1-3-2  500 6行目 答え→ ( 4500 ) 上記の表があり、B列6行目にA1~A5の内容を確認し、 条件に応じた計算結果を出したいです。 条件としては、1-2-3、2-3-1、3-1-2など、同じ数字で構成されているものであれば、順番が違っていても同じものとみなして合計します。 ※ちなみに1-2-3は文字列です。 ※上記の表では、1-2-3でできる組合せの合計で4500という答えを出してます。 思いつくままに関数を書いてみました。 =SUM(SUMIF(A1:A5,{"1-2-3","1-3-2","2-1-3","2-3-1","3-1-2","3-2-1"},B1:B5)) これでもできなくはないのですが、組合せをたくさん書くのがとても面倒で、 仮に、1-2-3-4 や、1-2-3-4-5 など組合せが多くなった場合はとても上記のやり方では対応できません。また、組合せは1桁だけでなく2桁(1-3-10)、3桁(5-80-100)も存在します。 効率良く書ける方法があればおしえてください。

  • エクセル 列の数値の合計の表示について、

    エクセル 列の数値の合計の表示について、 ごく基本的なことだと思いますが、教えてください。 例えばA列に上から順に数値を入れていき、その合計をB列に表示させるとします。 私のやり方はB列の計算式を=B1+A2としてこのコピーを、数値の数だけ下に下げることで目的を達しました。 すでにA列に数値が何個も入力している場合はこれで良いのですが・・。 ここから質問なのですが、例えばA列に現在10個数値がありB列に順番にその合計が出ているとします。 次にA列11行目に新規に数値を入力した時に、自動的にその合計がB列に出るようにしたいのです。 予めB列の数式のコピーを11行目以降に延ばしておくと、10行目の合計の数値が延ばした行まで並ぶので困っています。 よろしくお願いします。

  • EXCELで 文字列に一致しない場合の合計

    以下の表からEXCELの関数でA列から「東京都」の文字列を含む場合のB列の合計値と含まない場合のB列の合計値を出す関数を教えてください。 A      B 東京都港区 200 東京都北区 124 東京都大田区 100 横浜市緑区 99 川崎市幸区 90

  • 登録した文字列をランダムに表示する。

    とても初歩的な質問だとは思いますが宜しくお願いします。 ただいまある実験用のプログラミングをBCB6で行っているのですが、 完全に行き詰ってしまいました。 作るものの概要としては 『ボタンを押す間隔を測り、測定した時間に応じて、 2つのカテゴリーからそれぞれ登録された文字列を表示させる。』 といったものです。 文字列を100個×2カテゴリー=合計200個登録する方法、 それをランダムで表示させる方法(1度使った文字列は使わない) をご教授いただきたいのです。 宜しくお願いします。

専門家に質問してみよう