適切なエクセル関数等はありますでしょうか?どなたか分かる方教えて頂けると嬉しいです(^O^)/

Anonymous
2018-02-23T08:41:39+00:00

エクセルで選んだセルの範囲内にある複数の文字列の数量をそれぞれ出力する方法があれば教えて欲しいです。

文字列の量が多いので、関数の数式に特定の文字列を入力する関数ではできません。

具体的には、英語表記の数百個の商品名をエクセルに打ち込み、どのワードが何回使われているかが知りたいのです。

商品名の各英語ワードの間はスペースなのでセルに分割まではできたのですが、

範囲指定したセル内に含まれる複数のワードの数量を出力したいのですが、適切な関数などが見つかりません。。

どなたかわかる方教えていただけると嬉しいですo(^o^)o

** モデレーター注 **

この質問は [Office | Excel | Mac | Office 365 for business] のカテゴリーに投稿されましたが、内容から判断し、こちらのカテゴリに移動いたしました。適切なカテゴリーに投稿すると、返信や回答が得られやすくなり、同じ質問を持つ他のユーザーの参考にもなります。

Microsoft 365 と Office | Excel | 家庭向け | Windows

ロックされた質問。 この質問は、Microsoft サポート コミュニティから移行されました。 役に立つかどうかに投票することはできますが、コメントの追加、質問への返信やフォローはできません。

0 件のコメント コメントはありません
質問作成者が受け入れた回答
Makapu 92,385 評価のポイント ボランティア モデレーター
2018-03-19T22:59:29+00:00

こんにちは。

>これまでに紹介した方法で、1列に表示する方法がまだ解決していないようだったら、以下のようなWordを利用する操作が簡単です。

Excelで対象範囲をCtrl+Cでコピーし、ワードにCtrl+Vで貼り付けし、Ctrl+Hで置換ダイアログを出して「オプション」ボタンをクリックして「あいまい検索」のチェックを外して「検索する文字列」に「 」(スペース)、置換後の文字列に「^p」と入力して(「特殊文字」で「段落記号(p)」を選択)、「すべて置換」し、最後にCtrl+Aですべて選択しCtrl+Cでコピーして、Excelで空白列にCtrl+Vで貼り付ければ完成です。

>「オプション」ボタンをクリックして「あいまい検索」のチェックを外して

→「オプション」ボタンが表示されません。「あいまい検索」することもできません。

そもそもですが、WindowsとMacではワード機能や表示に違いがあるのではないでしょうか?

Mac で一列にする部分を試してみました所、こちらでは上手く行った様です。

  1. Excel の文字列をcommand+c でコピーします。(※区切り文字は半角スペース)

  1. Word 文書に [編集] >[形式を選択してペースト]>[テキスト]で貼り付けます。

   

  1. Ctrl+H で検索と置換ウィンドウを表示させたら、歯車マークをクリックし、[高度な検索と置換]をクリックします。

(またはメニューより[編集] > [検索] > [高度な検索と置換])

      ![](https://learn-attachment.microsoft.com/api/attachments/f5fdd213-fd2b-4a88-a243-d211e24d5a33?platform=QnA

  1. 高度な検索画面が出たら、画面左下の[▽]をクリックして、詳細設定を表示させます。

5.   「あいまい検索」のチェックを外して「検索する文字列」に「 」(スペース)、置換後の文字列に「^p」と入力して)「すべて置換」

(※(「特殊文字」で「段落記号(p)」を選択した所、段落記号が見える状態でExcelにコピーされてしまったので、段落記号は外しました。)

6. 置換後、Word 縦に並びましたので、Command+c でコピーしてExcelに貼り付けます。

7.  Excelに縦に貼りつきました。

この回答は役に立ちましたか?

0 件のコメント コメントはありません
質問作成者が受け入れた回答
Anonymous
2018-03-19T12:29:31+00:00

TEXTJOIN関数が使えるなら以下の数式で文字列を結合してください。

この関数なら最大文字数は3万語以上いけるはずです。

=TEXTJOIN(" ",TRUE,A列のデータ範囲)

この後、このセルをコピーしてそのまま「値」貼り付けして「区切り位置」処理してセル分割し、そのセル範囲をコピーして「形式を選択して貼り付け」で「行列を入れ替える」して縦の1列のデータにして、ピボットテーブルで集計(項目名に商品名とつけておき、行ラベルとΣ値に商品名)または「重複の削除」で商品名一覧を作成しCOUNTIF関数で個数をカウントしてください。

この回答は役に立ちましたか?

0 件のコメント コメントはありません

39 件の追加の回答

並べ替え方法: 古い順
  1. Anonymous
    2018-03-06T10:24:40+00:00

    >おそらくエクセルの1セルに集約できる文字数を大幅に超えてしまったためだと思われます。。

    失礼しました。フィルの機能で1つのセルに割り付けられる文字数は255文字まででしたね。

    >本件、想像以上に難航しており恐縮ですが、もしも別のやり方が分かるようでしたらご教示頂けますとありがたいです。

    それでは以下のような順で1つのセルに文字列を結合してみてください。

    どこかの空白セル(たとえばB1セル)に「=A1&" "」と入力し、下方向にオートフィルし、そのまま右クリック「コピー」、そのまま右クリック「形式を選択して貼り付け」で「値」(123のアイコン)を選択してください。

    このデータ範囲を指定する以下のPHONETIC関数を入力すれば、文字列を1つのセルに結合することができます。

    =PHONETIC(B1:B171)

    なお、ひらがなデータがあるとカタカナになりますので、これをひらがな表示するならデータ範囲を選択してホームタブの「あ亜」のアイコンで「ふりがなの設定」で「ひらがな」にしてください。

    このデータを区切り位置でセルに分割し、行列を入れ替える貼り付けを行った後に重複の削除を行い、COUNTIF関数でそれぞれの文字の数をカウントしてください(1行目に項目名があれば重複の削除を行わなくてもピボットテーブルでも簡単にそれぞれのデータの個数の集計ができます)。

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません
  2. Anonymous
    2018-03-06T11:47:01+00:00

    ご回答ありがとうございます。

    >=PHONETIC(B1:B171)

    →上記の関数式をC1セルに入力したところ、数式の表示のままになっております。そのため、文字列が結合したのか確認できない状況となります。

    恐れ入りますが、上記解決策を教えて頂けますと幸いです。

    お手数ですが、引き続きよろしくお願いいたします。

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません
  3. Anonymous
    2018-03-07T02:28:45+00:00

    >上記の関数式をC1セルに入力したところ、数式の表示のままになっております。そのため、文字列が結合したのか確認できない状況となります。

    セルに数式が表示されているということなら、セルの表示形式が「文字列」になっているパターンのように思われます。

    表示形式を「標準」にして、数式を再入力(F2キーを押してEnterまたはデータタブの区切り位置で「完了」)してください。

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません