プロが教える店舗&オフィスのセキュリティ対策術

(わかりにくいタイトルですいません)
こんにちは。熟練の皆様にお伺いします。
次のような場合の計算式が思いつきません…ぜひお力をお貸し下さい!

ある文字列(A行)の中から特定の文字列(D行のいずれか)を探し、
それが含まれた場合、B行にE行の値を返す、というものです。

以下のような場合、

   A        B     C     D     E
1  いろはにほ              はにほ  ◇
2  いろは                 るを    ◆
3  ちりぬるを 
4  ちり    
5  はにほちり 
6  わかよ   

 ↓こういう結果にしたいんです

   A        B     C     D     E
1  いろはにほ  ◇           はにほ  ◇
2  いろは                 るを    ◆
3  ちりぬるを   ◆
4  ちり    
5  はにほちり   ◇
6  わかよ   


いかがなものでしょうか…

A 回答 (3件)

B2に下のように入力して、下方向にコピーします。

D1、D2を調べています。

=IF(FIND($D$1,A1&$D$1)<LEN(A1),$E$1,"")&IF(FIND($D$2,A1&$D$2)<LEN(A1),$E$2,"")

ただ、A列が『*はにほ*るを*』の場合の表示方法の指定がありませんので、上の算式は◇◆を表示します。
ご参考に。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます!
なるほど、こうすればいいんですね。意味もわかりました。
本当にありがとうございました!

お礼日時:2002/10/15 18:05

#1の回答はVBAのようです。

取りあえずVBAで(繰り返し比較法で)良ければ、
Sub test01()
l = Range("a1").CurrentRegion.Rows.Count
m = Range("d1").CurrentRegion.Rows.Count
For i = 1 To l
For j = 1 To m
p = InStr(Cells(i, 1), Cells(j, 4))
If p = 0 Then
Else
Cells(i, 2) = Cells(j, 5)
Exit For
End If
Next j
Next i
End Sub
同じかも知れないが、こちらのほうが見通しが良いでしょう。それと急いでいるため、D列に「あいう」と「いう」
のように、前後に出てくる文字列の一部の文字列もあるときは、対策をどうするか、ケースに応じて、注意が
必要。本件では省略。関数による解も考えてみます。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
が、僕はVBAの知識が全くありませんので、
意味がさっぱりわかりません。
きっとものすごく便利なんだと思うんですが…
もう少し勉強してみます(T_T)

お礼日時:2002/10/15 18:07

http://www2.hornet.co.jp/tomoko/MikoNotes/

こちらのNo330はいかがでしょうか?
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
VBAの知識がもう少しあればきっと役に立つんだと思うんですが…
もうちょっと勉強してから参考にさせていただきます。

お礼日時:2002/10/15 18:04

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!