- ベストアンサー
文字列でもっとも多く言葉を抽出したい
A 1 田中佐藤 2 田中高田 3 佐藤田中 とあったとき、 もっとも多く使われている文字が「田中」であると他のセルに示したいのですが そのような関数はあるでしょうか 宜しくお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
回答No2です。F2への入力の式は次の式に変更してください。 =IF(E2="","",IF(COUNTIF(E$2:E2,E2)=1,ROUND((COUNTIF(E:E,E2)*1000+1/ROW(A1)),3),""))
その他の回答 (2)
- KURUMITO
- ベストアンサー率42% (1835/4283)
文字列をどこで切って一つの文字列にするかは別の手段がない限り不可能ですね。 ここではA列の2行目か下方に田中佐藤などの入力があるとして、それを例えば田中 佐藤のように文字列の間にスペースを入れることにします。その後にA列を選択して「データ」タブから「区切り位置」を選択し、表示される画面で「次へ」をクリック、次の画面で「スペース」にチェックを付けて「次へ」、最後に「完了」と操作をします。 それによってA列の文字列はスペースごとの文字列となってA,B,C列などに表示されます。 ここでは仮にC列までに文字列が表示されるとします。 そこでどのような文字列の種類があるのかが分かりませんし、それを明らかにするためにも、またその数を調べるためにもE2セルには次の式を入力して下方にオートフィルドラッグコピーします。 =IF(ROW(A1)<=COUNTA(A$2:A$1000),INDEX(A$2:A$1000,ROW(A1)),IF(ROW(A1)<=COUNTA(A$2:A$1000)+COUNTA(B$2:B$1000),INDEX(B$2:B$1000,ROW(A1)-COUNTA(A$2:A$1000)),IF(ROW(A1)<=COUNTA(A$2:A$1000)+COUNTA(B$2:B$1000)+COUNTA(C$2:C$1000),INDEX(C$2:C$1000,ROW(A1)-COUNTA(A$2:A$1000)-COUNTA(B$2:B$1000)),""))) F2セルには次の式を入力して下方にオートフィルドラッグコピーします。 =IF(E2="","",IF(COUNTIF(E$2:E2,E2)=1,ROUND((COUNTIF(E:E,E2)*1000+1/ROW(A1)),1),"")) そこでお求めのデータですがH,I列に表示させることにしてH2セルから下方には上位1位からの文字列を下方に表示させることにして、I2セルから下方にはH列の文字列が何個含まれていたかを表示させることにします。 お求めのデータは第1位だけの文字列の名前ですからH2セルのデータのみで良いのですが。 H2セルには次の式を入力してI2セルまでオートフィルドラッグコピーしたのちに下方にもオートフィルドラッグコピーします。 =IF(ROW(A1)>COUNT($F:$F),"",IF(COLUMN(A1)=1,INDEX($E:$E,MATCH(LARGE($F:$F,ROW(A1)),$F:$F,0)),IF(COLUMN(A1)=2,LARGE($F:$F,ROW(A1)),"")))
- mt2008
- ベストアンサー率52% (885/1701)