アプリ版:「スタンプのみでお礼する」機能のリリースについて

エクセルの重複チェックに関する質問です!

Sheet1のf列に
りんごを育てよう
みかんを食べよう
なしをむこう
さくらんぼを売ろう
パイナップルを切ろう

Sheet2のg列に
りんごを食べよう
みかんをむこう
なしをむこう
ぶどうを植えよう
ようかんをきろう

という文字列が入っているとします。

このとき、sheet2のg列の値がsheet1f列にある文字を3文字以上含む場合、sheet2のa列に「●」と書き込むような関数もしくはマクロを入れたいのですが可能でしょうか?

お手数ですが、ご教示いただける方をお待ちしております!

A 回答 (7件)

とりあえずこんな感じでいかがでしょうか?



Sub Sample()

Dim 元行 As Long
Dim 先行 As Long

Sheets("Sheet2").Select
For 元行 = 1 To Sheets("Sheet1").Cells(Rows.Count, 6).End(xlUp).Row
For 先行 = 1 To Cells(Rows.Count, 7).End(xlUp).Row
If Left(Cells(先行, 7).Value, 3) = Left(Sheets("Sheet1").Cells(元行, 6).Value, 3) Then
Cells(先行, 1).Value = "●"
End If
Next
Next

End Sub
    • good
    • 0

Sheet2のA1セルに次の数式を入力して、下にオートフィルで、どうでしょう。



=IF(ISERROR(MATCH(LEFT(G1,3)&"*",Sheet1!F:F,0)),"","●")
    • good
    • 0
この回答へのお礼

ママチャリ様

以前もご回答いただいたかと思います。この度も関数をご提示いただき誠にありがとうございます!

LEFT関数をはじめて使いましたが、本当に便利ですね!無事、やりたいことが達成できました。

お礼日時:2016/05/18 21:17

こんばんは!



検索文字はSheet2、G列の頭から3文字と決まっているのであれば・・・

Sub Sample1()
Dim i As Long, c As Range, wS As Worksheet
Set wS = Worksheets("Sheet1")
With Worksheets("Sheet2")
For i = 1 To .Cells(Rows.Count, "G").End(xlUp).Row
Set c = wS.Range("F:F").Find(what:=Left(.Cells(i, "G"), 3), LookIn:=xlValues, lookat:=xlPart)
If Not c Is Nothing Then
.Cells(i, "A") = "●"
End If
Next i
End With

End Sub

でも大丈夫だと思います。m(_ _)m
    • good
    • 0
この回答へのお礼

tom04様

いつもありがとうございます!実験とコードの解読に時間がかかり、お礼が遅れてしまいました。申し訳ありません!

無事にやりたいことが実践できました!

お礼日時:2016/05/18 21:18

場合によっては「Sheets("Sheet2").Select」の次の行に「Columns("A:A").ClearContent

s」を入れた方が良いかも
    • good
    • 0
この回答へのお礼

GooUserラック様

この度は混乱を招く質問をしてしまったにもかかわらず、丁寧にご対応いただき誠にありがとうございます。

実験とコードの解読に時間がかかってしまいましたが、やりたいことを無事に実行できました。誠にありがとうございます!

他の方も大変ためになる回答ばかりで、皆様にベストアンサーを差し上げたいところですが、一番早くかつ懇切丁寧に対応してくださったGooUserラック様を今回は選ばせていただきます。

重ね重ねお礼申し上げます。

お礼日時:2016/05/18 21:21

提案になりますが、すべてが「〇〇を△△」という書式ならば、3文字というよりも、「先頭」から「を」までの方が良いのでは?

    • good
    • 0
この回答へのお礼

ご丁寧に誠にありがとうございます。

実データのほう(本投稿文では伏せております)は、必ずしもきれいに整っていないため、初めの文字列のみのほうが現実的かもしれないのです。

お礼日時:2016/05/16 17:29

↓ それでしたら条件が判りません。

「みかんをむこう」にも「ごはんをむす」にも「んをむ」が入っていますよね。説明いただけますか?
    • good
    • 0
この回答へのお礼

申し訳ありません!意図を勘違いしていました。

例えば先頭文字列3つのみ、などの条件を追加することは可能でしょうか?

つまり、sheet2のg 列に「みかんをむこう」があった場合、ヒットするのは「みかんを食べよう」のみにできますか?

お礼日時:2016/05/16 16:54

念の為確認です。


Sheet2のg列に「みかんをむこう」だけあった時に、ヒットするのは「みかんを食べよう」「なしをむこう」になりますか?
その時に、Sheet1のf列に「ごはんをむす」が有った場合もヒットしますか?
    • good
    • 1
この回答へのお礼

ご質問ありがとうございます。
1つめの質問についてはその通りです!
2つめの質問については、ヒットしません!

これでよろしいでしょうか?
不足がありましたらお手数ですが、お知らせください!

お礼日時:2016/05/16 16:33

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