エクセルでクエスチョンマークの含まれたセルを検索したいのですが、全てのセルがヒットしてしまいます。どうすればエスケープできるのでしょうか。

このQ&Aに関連する最新のQ&A

A 回答 (4件)

検索文字に


~?
チルダ(へのキー,ほのキーの右隣)
を使えば出来ます


 
    • good
    • 0

こんばんは!



既に皆さんが書かれていますが「?」はワイルドカード
で1文字を意味します。

>クエスチョンマークの含まれたセルを検索したいのです
>が、全てのセルがヒットしてしまいます

通常の文字であれば、文字列に含まれるかいなかの検索は
たとえば「あ」が何処かに含まれている であれば
*あ* となりますが 同様に *?* と書くと
1文字(?)以上(*)ある文字列となってしまいます。
回避策としては 文字の手前にチルダ「~」を付けて
ワイルドカードでは無いことを示す *~?* となります。
    • good
    • 0

検索ダイアログに「!*」と入力してみたらどうでしょう。

「*」マークは”その他”という意味がありますので、「”!”を含む文字列」を検索してくれるはずです。

それかそれら文字列を一覧にしたいなら、メニューバー「データ」→「フィルタ」→「オート・フィルタ」で、検索したい列のダウンリストを開き、「オプション」を選択して出てきたダイアログの”区分”に再び「!*」と入力し、右隣のダウンリストから「を含む」を選んでOKすると”!”マークのある文字列が一覧になって出てきます。
    • good
    • 0

ごめんなさい、先の回答自分で読んでも良く分からないので


エクセルのヘルプ内容をそのまま書きます

文字列または数値の検索に使用できるワイルドカード文字

部分的に等しい文字列、または一部の数字が等しい数値を検索するには、ワイルドカード文字を使います。ワイルドカード文字は 1 つまたは任意の数の文字を表します。

検索する文字列ワイルドカード文字使用例
疑問符と同じ位置にある任意の 1 文字? (疑問符)「南?風」と指定すると、"南東風" や "南西風" が検索されます。
アスタリスクと同じ位置にある任意の数の文字* (アスタリスク)「*東」と指定すると、"北北東" や "南南東" が検索されます。
疑問符、アスタリスク、またはチルダ~ (チルダ) (?、*、または ~ の前に入力)「fy91~?」と指定すると、"fy91?" が検索されます。

コピーして貼り付けしたが良く分からない時は、
エクセルのヘルプで
検索文字に?を指定したい
を検索して下さい

がんばって下さい
    • good
    • 0

このQ&Aに関連する人気のQ&A

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

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qエクセルで別シートに含まれる文字列から文字列が含まれる隣のセルの値を返す

質問です。
説明がわかりにくく申し訳ありません。

エクセルのシート1にC:C列にある文字列を抽出し、その文字列の中から特定の文字列があればシート2の表から日本語を返したい。

例:シート1
      A      B      C    D
1         aa/bbbb/ 5
2         ccc/ddd/ 8
3         ee/ff/ 0
4         gggg/hhhhh/ 6

シート2
      A      B      C    D
1      bbbb リンゴ
2      ddd     みかん
3      ff いちご
4      hhhhh ぶどう

シート3
      A      B      C    D
1      リンゴ 5
2      みかん    8
3      いちご 0
4      ぶどう 6

シート3に集計表を作りたいのですが、シート1のc:c列にbbbbがあれば
リンゴにbbbbが含まれる文字列の隣のセルの数値を返したいのです。
※シート3のA列のリンゴ・みかんなどは元から固定して入力済みです。
シート1に外部からのデータを張り付け特定の文字列が含まれる隣のセルの数値を取得したいです。

説明が大変下手で申し訳ありませんが、どうぞよろしくお願いします。

質問です。
説明がわかりにくく申し訳ありません。

エクセルのシート1にC:C列にある文字列を抽出し、その文字列の中から特定の文字列があればシート2の表から日本語を返したい。

例:シート1
      A      B      C    D
1         aa/bbbb/ 5
2         ccc/ddd/ 8
3         ee/ff/ 0
4      ...続きを読む

Aベストアンサー

No.4です。

Sheet1の配置が間違っていました。
↓のような配置なのですね?

前回のコードは消去し、↓のコードに変更してください。

Sub Sample2()
Dim i As Long, c As Range, r As Range
Dim wS1 As Worksheet, wS2 As Worksheet
Set wS1 = Worksheets("Sheet1")
Set wS2 = Worksheets("Sheet2")
Application.ScreenUpdating = False
With Worksheets("Sheet3")
For i = 1 To .Cells(Rows.Count, "A").End(xlUp).Row
Set c = wS2.Range("B:B").Find(what:=.Cells(i, "A"), LookIn:=xlValues, lookat:=xlWhole)
If Not c Is Nothing Then
Set r = wS1.Range("C:C").Find(what:=c.Offset(, -1), LookIn:=xlValues, lookat:=xlPart)
If Not r Is Nothing Then
.Cells(i, "B") = r.Offset(, 1)
End If
End If
Next i
End With
Application.ScreenUpdating = True
MsgBox "完了"
End Sub

今度はどうでしょうか?m(_ _)m

No.4です。

Sheet1の配置が間違っていました。
↓のような配置なのですね?

前回のコードは消去し、↓のコードに変更してください。

Sub Sample2()
Dim i As Long, c As Range, r As Range
Dim wS1 As Worksheet, wS2 As Worksheet
Set wS1 = Worksheets("Sheet1")
Set wS2 = Worksheets("Sheet2")
Application.ScreenUpdating = False
With Worksheets("Sheet3")
For i = 1 To .Cells(Rows.Count, "A").End(xlUp).Row
Set c = wS2.Range("B:B").F...続きを読む

Q検索でヒットしたセルの隣のセルの値を計算したい

A列に曜日、B列に数字(値)の一覧があります。
曜日ごとにB列の合計値を計算したいのですが、どういった方法がいいのか見当もつきません。
お分かりになる方がいましたら、是非ご教授の程よろしくお願いいたします。

A列   B列
月曜日  10    
火曜日  5
水曜日  20
木曜日  10    
金曜日  5
土曜日  20
日曜日  10    
月曜日  5
火曜日  20

月曜日合計 15
火曜日合計 25

というイメージです。
関数だけでできるのか、その他にいい方法があるのかまったくわかっていない初心者なのですがどうぞよろしくお願いいたします。

Aベストアンサー

 こんにちは.
 SUMIF関数ですね.
セルA11に「=SUMIF(A1:A9,"月曜日",B1:B9)」
セルA12に「=SUMIF(A1:A9,"火曜日",B1:B9)」
でご希望のことができると思います.

http://kokoro.kir.jp/excel/sumif.html
に説明がありますが,ページ下の方のDSUM関数とCOUNTIF関数も
一緒に覚えておくと,一気にできることが広がりますよ^^
 ご参考になれば.

QExcelで、検索してヒットしたセルの隣のセルに値を入力したい

Excelで、「検索してヒットしたセルのとなりのセルに、特定の値を
入力する」という作業をスムーズにできる方法を考えています。

具体的には在庫のチェックに使います。A列に品名が6000件ほどあって、
検索してヒットした品名の隣のセル(B列)に"●"を入力する作業です。
ただし、その隣のセル(B列)にはあらかじめ"○"が入力されています。

現在のところ、
 ctrl+F で検索 → 該当するセルに"●"をペースト 
で処理していますが、もっと効率的な方法をご存じないでしょうか。
少しでもマウスを動かしたりするのを減らしたいのです。

一つ考えているのは、以下のようにマクロを利用することです。
ユーザーフォーム
 テキストボックス(検索する文字列の入力用)
 コマンドボタン1(検索用)
 コマンドボタン2(次を検索)
 コマンドボタン3(前を検索)
 ラベル(検索してヒットしたセルの値を確認する用)
 コマンドボタン4("●"を該当セルに入力する用)

ここまでたどり着いたのですが、お手上げになりました。
このような考えを実現するコードをお教えいただけないでしょうか。
あるいは、もっと楽なやり方があるということでしたら、それも
お教えいただけないでしょうか。よろしくお願いします。

Excelで、「検索してヒットしたセルのとなりのセルに、特定の値を
入力する」という作業をスムーズにできる方法を考えています。

具体的には在庫のチェックに使います。A列に品名が6000件ほどあって、
検索してヒットした品名の隣のセル(B列)に"●"を入力する作業です。
ただし、その隣のセル(B列)にはあらかじめ"○"が入力されています。

現在のところ、
 ctrl+F で検索 → 該当するセルに"●"をペースト 
で処理していますが、もっと効率的な方法をご存じないでしょうか。
少しでもマウスを動か...続きを読む

Aベストアンサー

ANo.2です。何件くらいヒットするのか分かりませんが、先の回答を改造して下記の様なのはいかがでしょうか。UserFormに、テキストボックスと、リストボックスを設けます。テキストボックスに入れた文字列に部分一致するもののリストがリストボックスに表示されますので、目的の値をクリックすると、その値の隣のセルに●が入ります。(この後何をなさりたいのかは分かりかねますが)
<標準モジュール>
Sub test()
UserForm1.Show
Set UserForm1 = Nothing
End Sub

<UserForm1のコード>
Dim matchRange() As Range

Private Sub TextBox1_Change()
Dim c As Range
Dim firstAddress As String

ReDim matchRange(0 To 0)
With Worksheets(1).Range("a1:f500")
Debug.Print TextBox1.Value
Set c = .Find(TextBox1.Value, LookIn:=xlValues, LookAt:=xlPart)
If Not c Is Nothing Then
firstAddress = c.Address
Set matchRange(0) = c
Me.ListBox1.AddItem c.Text
Do
Set c = .FindNext(c)
If (c Is Nothing) Or (c.Address = firstAddress) Then Exit Do
ReDim Preserve matchRange(UBound(matchRange) + 1)
Set matchRange(UBound(matchRange)) = c
Me.ListBox1.AddItem c.Text
Loop
End If
End With
End Sub

Private Sub ListBox1_Click()
matchRange(ListBox1.ListIndex).Offset(0, 1).Value = "●"
Me.Hide
End Sub

ANo.2です。何件くらいヒットするのか分かりませんが、先の回答を改造して下記の様なのはいかがでしょうか。UserFormに、テキストボックスと、リストボックスを設けます。テキストボックスに入れた文字列に部分一致するもののリストがリストボックスに表示されますので、目的の値をクリックすると、その値の隣のセルに●が入ります。(この後何をなさりたいのかは分かりかねますが)
<標準モジュール>
Sub test()
UserForm1.Show
Set UserForm1 = Nothing
End Sub

<UserForm1のコード>
Dim ma...続きを読む

Qエクセルであるセルに入力されている文字列が他のセルに含まれているか知る関数

例えば、
A列 B列 C列
1行目 多摩川 南多摩川 ○
2行目 多摩川 多摩川駅前 ○
3行目 多摩川 多摩公園 ×

のように表示できるよう、C列に入れる関数が知りたいのですが。。
よろしくお願いします。

Aベストアンサー

C1に
=IF(ISERROR(FIND(A1,A2)),"✕","○")
と入れて下方向に式を複写する。

Qエクセルで、範囲内の該当セルを探してその一つ下のセルの値を全て加算した

エクセルで、範囲内の該当セルを探してその一つ下のセルの値を全て加算したいのです。どうすればよいですか?

例:
_A, _B, _C, _A, _B, _D, _A, _F
20, _5, 40, 30, 20, 80, 40, 30
という範囲があった時に

項目 _A, _B, _C, _D, _E, _F
合計 90, 25, _0, 80, _0, 30

という集計がおこないたいのです。
データ量が結構な数ありますので、手動は避けたいのです。

よろしくお願いします。

Aベストアンサー

元のデータが1行+1行あったとして

集計表がSheet2に例えばあったとすると
シート2のB2に
=SUMIF(Sheet1!1:1,B1,Sheet2!2:2)
などのように。



元のデータが実は(1行+1行)×複数組ありましたみたいな場合でも

集計表がSheet2に例えばあったとすると
シート2のB2に
=SUMIF(Sheet1!1:5,B1,Sheet2!2:6)
などのように。


人気Q&Aランキング

おすすめ情報