- ベストアンサー
エクセルで指定した文字だけを使っているセルを抽出したいのですが
Excelで、ひらがなだけで書かれた単語リストがあります。1セルに1語ずつ、A列に数千語あります。その中から指定した文字のみを使っている単語のセルを抽出する方法はありますか。 例えば、「あ、い、う、え、お」の5文字を指定した場合 ・抽出する単語-あい(愛)、あおい(青い)、いえ(家)、お(尾)など ・抽出しない単語-あかい(赤い)、いす(椅子)、てがみ(手紙)など マクロは苦手なので、できればマクロを使わない方法がありがたいです。 よろしくお願いします。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
ちょっと厄介なので、作業列使用しますが 単語リストが最大10文字までとして、A1に条件を入れてあります。 A B C あいうえお あおい あかい いえ いす てがみ ・・・ B2セルに =IF(SUM(COUNTIF(A$1,"*"&MID(A2,ROW(A$1:A$10),1)&"*"))=10,ROW(),"") といれて Ctrl+Shift+Enter で決定して配列関数に(関すが{}でくくられます) B2セルを下へコピィ C2セルに =IF(ISERROR(SMALL(B:B,ROW(A1))),"",INDEX(A:A,SMALL(B:B,ROW(A1)))) と入れて下へコピィします。
その他の回答 (4)
A B C D 1 単語 単語 2 あい あい TRUE 3 あおい あおい 4 いえ いえ 5 お お 6 あかい いう 7 いす あいうえお 8 てがみ うえ 9 いう おい 10 あいうえお あう 11 うえ あお 12 おい えいおあ 13 あう 14 あお 15 えいおあ 16 あい 17 いえ 1.セル D1 は空白とする。← これ重要! 2.セル D2 に次式を入力 =LEN(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A2,"あ",""),"い",""),"う",""),"え",""),"お",""))=0 3.次の条件で[フィルタオプションの設定]を実行 “指定した範囲”に目玉入れ [リスト範囲] $A$1:$A$17 [検索条件範囲] $D$1:$D$2 [抽出範囲] $B$1 “重複するレコードは無視する”にチェック入れ その結果をB列に示しています。
お礼
回答どうもありがとうございます。 これもできました。 指定する文字の多いときはちょっと大変ですが、重複するデータが省ける点が便利ですね。これも使わせていただきます。
- takana_
- ベストアンサー率44% (21/47)
A列はhallo-2007さんの回答の通りとして B列を作業列として B2セルに =SUM(ISERROR(FIND(MID(A2,ROW(INDIRECT("1:"&LEN(A2))),1),$A$1))*1) といれて、Ctrl+Shift+Enterで配列数式にしてください。 後はB列のほかのセルに上のセルをコピー セル関数の答えは、抽出対象の文字以外の文字の数です。 よってセル関数の返す値が0のセルが対象としたいセルになります。
お礼
おおっ、こんな方法もあるのですね! これもうまく行きました。どうもありがとうございます。 いろいろな方法を知っていると、そのときの作業内容に応じて使い分けられるので、便利です。
- hallo-2007
- ベストアンサー率41% (888/2115)
No1です。 >最大文字数を変える場合は=10を別の数に変えればいいのですか。 もう一箇所ですが、仮に最大文字20文字の場合 SUM(COUNTIF(A$1,"*"&MID(A2,ROW(A$1:A$20),1)&"*"))=20 とROW関数の範囲も一緒に変更してみてください。
お礼
2箇所変更ですね。わかりました。 どうもありがとうございます。
- A88No8
- ベストアンサー率52% (836/1606)
こんにちは うーん、おもしろい要求事項ですね。 (1)「あ」1文字の組み合わせは「あ」の1通り。 (2)「い」1文字の組み合わせは「い」の1通り。 (3)「う」1文字の組み合わせは「う」の1通り。 (4)「あ」と「い」の組み合わせは、「あ」「い」「ああ」「いい」「あい」「いあ」の6通り。 (5)「あ」と「い」と「う」の組み合わせは「あ」「い」「う」「ああ」「いい」「うう」「あい」「あう」「いあ」「いう」「うあ」「うい」「あああ」「いいい」「ううう」「ああい」「ああう」「いいあ」「いいう」「ううあ」「ううい」「あいい」「あうう」「いああ」「いうう」「うああ」「ういい」「あいう」「あうい」「いあう」「いうあ」「うあい」「ういあ」の33通り。 では? (6)「あ」と「い」と「う」と「え」の組み合わせは? (7)「あ」と「い」と「う」と「え」と「お」の組み合わせは? 意味があるかどうかは別にして(検索語は意味がなくても検索される言葉の集合は意味のある単語だから考えない)検索する側はたくさんのパターンを総当たりする必要があるのでは? (6)と(7)は面倒くさくて調べませんが検索するパターンを決める方法(アルゴリズム)が見つからないとプログラムが組めないと思うのですが..?
お礼
回答どうもありがとうございます。 そうなんです。たくさんのパターンを総当たりにするなんてできないので、困っていたんです。
お礼
さっそく回答してくださってどうもありがとうございます。 試してみたらちゃんとできました! 知らない関数も使われているので、これからひとつひとつ調べて勉強しようと思います。 ところで、最大文字数を変える場合は=10を別の数に変えればいいのですか。