
No.1ベストアンサー
- 回答日時:
こんにちは
ユーザ定義関数などで処理した方が良さそうな気もしますが・・・
自己解決なさったようですが、少しだけ一般化して違う発想の例を。
リスト(補足の例の場合ではB1:B4)を「名前の定義」で「list」等としておきます。
(名前の定義を利用しなくても良いですが、式が簡単になりますので)
=SUMPRODUCT((MATCH(list,list,0))*NOT(LEN(A1)=LEN(SUBSTITUTE(A1,list,""))))
・リストの項目数は4項目限定ではありません。(いくつでも良いです)
・リスト内の文字が存在しない場合は0になります。
・2項目以上の内容が存在する場合は、各インデックス値の合計になります。
この回答へのお礼
お礼日時:2017/06/23 11:55
名前の定義をリストで作成できるとは知りませんでした。
私の書式だと長ったらしくて納得はしておらず、リスト内の文字が存在しない場合はFALSEを
返したりして苦肉の策だったのですが、こちらを使用すると、シンプルで、いろいろと応用が効きそうです!
すごく勉強になりました!
ありがとうございました。
No.3
- 回答日時:
#2の訂正
He likes classical music very [mutch]. ← much
元 解析後
TreeTagger で、mutch を入れると、NN(名詞)として出てきてしまい、間違いになってしまいます。正しくは、RBの副詞です。
No.2
- 回答日時:
こんにちは。
場違いな回答でしたらすみませんが、似たような質問が出るたびに思うことなのですが、その集計を本格的にするためには、英文の形態素解析が必要なのではないか、と思うのです。music は、変化がありませんが、名詞、動詞や形容詞の場合は、変化形アリで、そのままの単語検索では無理があると思うのです。
I like pop music very much. (2箇所訂正)
http://language-and-engineering.hatenablog.jp/en …
英語の形態素解析をしてみました。
perl + TreeTagger
マニュアルは、http://funoisan.blog.fc2.com/blog-entry-4.html
で進めて試してみました。
He likes classical music very mutch.
元 解析後
He PP he
likes VVZ like
classical JJ classical
music NN music
very RB very
much RB much
これを、VBAに組み入れるわけなのですが、そこまでは組んでいません。たぶん、可能だと思っています。
もちろん、元の質問にも答えないと回答にはなりませので、VBAのコードを置いておきます。実際は以下のようにはいかないことも多かろうと思います。ユーザー定義関数にも置き換えられますが、それはお望み次第です。
Sub Search_word_inLine()
Dim rng As Range
Dim wd As String
Dim Arwd As Variant
Dim i, n '(Variant)
'検索単語は B列に置く
Set rng = Range("B1", Cells(Rows.Count, 2).End(xlUp))
wd = Range("A1").Value
If wd = "" Then Exit Sub
wd = LCase(wd)
wd = Replace(wd, Space(2), Space(1), , , vbTextCompare)
wd = Replace(wd, ",", "", , , vbTextCompare)
wd = Replace(wd, ".", "", , , vbTextCompare)
Arwd = Split(wd, Space(1))
For Each n In Arwd
i = Application.Match(n, rng, 0)
If IsNumeric(i) Then
Cells(i, 3).Value = i 'C列に出力。複数ある時は、最後のひとつだけです。
End If
Next
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) Excel 値を返す数式についてです 3 2022/11/21 20:08
- Excel(エクセル) エクセルの数式で教えてください。 1 2023/06/15 14:11
- Excel(エクセル) エクセルの条件付き書式で*を使いたい 4 2022/05/13 16:49
- Excel(エクセル) Excelのリストにある文字を含むセルを、複数の色で色付けしたいです 2 2022/08/11 17:39
- Excel(エクセル) 【Excel】指定した文字列に該当する行を重複しないようにリスト 3 2022/03/30 12:27
- Excel(エクセル) エクセルの数式について教えてください。 7 2023/06/18 10:16
- Excel(エクセル) エクセル 関数について質問です。 2 2022/10/03 11:14
- Excel(エクセル) エクセル VBA セルの結合 2 2022/09/07 11:48
- Excel(エクセル) Excelのマクロで、特定のセルから順番に値を取得したい 5 2022/12/06 15:34
- Visual Basic(VBA) 【至急】 当方初心者です。 マクロについて知恵をお貸しください。 ★したい動作 ①リストE列2行目か 4 2022/09/29 18:56
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・一番好きなみそ汁の具材は?
- ・泣きながら食べたご飯の思い出
- ・「これはヤバかったな」という遅刻エピソード
- ・初めて自分の家と他人の家が違う、と意識した時
- ・いちばん失敗した人決定戦
- ・思い出すきっかけは 音楽?におい?景色?
- ・あなたなりのストレス発散方法を教えてください!
- ・もし10億円当たったら何に使いますか?
- ・何回やってもうまくいかないことは?
- ・今年はじめたいことは?
- ・あなたの人生で一番ピンチに陥った瞬間は?
- ・初めて見た映画を教えてください!
- ・今の日本に期待することはなんですか?
- ・集中するためにやっていること
- ・テレビやラジオに出たことがある人、いますか?
- ・【お題】斜め上を行くスキー場にありがちなこと
- ・人生でいちばんスベッた瞬間
- ・コーピングについて教えてください
- ・あなたの「プチ贅沢」はなんですか?
- ・コンビニでおにぎりを買うときのスタメンはどの具?
- ・おすすめの美術館・博物館、教えてください!
- ・【お題】大変な警告
- ・洋服何着持ってますか?
- ・みんなの【マイ・ベスト積読2024】を教えてください。
- ・「これいらなくない?」という慣習、教えてください
- ・今から楽しみな予定はありますか?
- ・AIツールの活用方法を教えて
- ・最強の防寒、あったか術を教えてください!
- ・歳とったな〜〜と思ったことは?
- ・モテ期を経験した方いらっしゃいますか?
- ・好きな人を振り向かせるためにしたこと
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
べき乗
-
皆さん定義を教えてください 「...
-
「互いに素」の定義…「1と2は互...
-
1未満と1以下の違い
-
「logx^2=2logx」が間違って...
-
なぜ、直角三角形ではないのにs...
-
最大元と極大元の定義の違いが...
-
複雑な家庭とは
-
マイナス7は素数ですか?
-
ヘシアンが0の場合どうやって極...
-
フーリエ変換の公式の違い
-
確率の問題です。お詳しい方よ...
-
無限から無限を引いたら何にな...
-
√6=√(-2)(-3)=√(-...
-
k代数 k代数に関する定理の証明...
-
10厘で1分 10分で1割 10割だと...
-
eの0乗は1ってどういう原理です...
-
数学の両辺2乗と√について教え...
-
刀傷刀痕斬撃痕それぞれの違い...
-
1」は昔は素数だったそうです...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
皆さん定義を教えてください 「...
-
べき乗
-
最大元と極大元の定義の違いが...
-
「互いに素」の定義…「1と2は互...
-
無限から無限を引いたら何にな...
-
1未満と1以下の違い
-
ヘシアンが0の場合どうやって極...
-
eの0乗は1ってどういう原理です...
-
なぜ、直角三角形ではないのにs...
-
「logx^2=2logx」が間違って...
-
日本語 ことば ひとまわり ふた...
-
複雑な家庭とは
-
ACCESS VBAでインポート定義の場所
-
\\mathrmと\\rmの違いについて...
-
texのchapterの改ページについて
-
p⇒q=(¬p)∨qについて
-
2変数関数の極値について
-
正方行列ではない行列にも行列...
-
tanhXの近似式について
-
excel vba 名前付きセルが存在...
おすすめ情報
自己解決しました。
原因はエラー#VALUE! によるもので、
IFERRORとFIND関数を用いてうまくいきました。
--------------
A1 :I like pop music very match
B1 :orange
B2 :some
B3 :music
B4 :thanks
IF(IFERROR(FIND(B1,A1),0)>0,1,IF(IFERROR(FIND(B2,A1),0)>0,2,IF(IFERROR(FIND(B3,A1),0)>0,3,IF(IFERROR(FIND(B4,A1),0)>0,4))))
これで "3" が 返ってきました。
ナレッジとして残しておきます。