『ボヘミアン・ラプソディ』はなぜ人々を魅了したのか >>

エクセルで特定の文字を含むセルを抽出する方法を探しています。

A列に元データ、C列に検索条件があります。
C列の条件に一部でも一致するデータを抽出したいです。(結果イメージを添付します)

可能であれば、関数で対応したいです。

どなたかお分かりになる方いらっしゃいましたら、
教えていただけないでしょうか?

よろしくお願いいたします。

「Excelで文字列の中から部分一致したも」の質問画像

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

A 回答 (1件)

こんにちは!


A列は当然文字列だと思いますが、C列の日付セルがシリアル値だと厄介です。
とりあえずC列の日付セルは「文字列」だという前提での一例です。

画像の配置ではB2セルに
=IF(OR(ISNUMBER(FIND(C$2:C$6,A2))),"○","")
これは配列数式になりますので、Ctrl+Shift+Enterで確定!
この画面からコピー&ペーストする場合は
上記数式をドラッグ&コピー → B2セルを選択 → 数式バー内に貼り付け → そのまま(編集可能なまま)
Ctrl+Shiftキーを押しながらEnterキーで確定!
数式の前後の{ }マークが入り配列数式になります。
これをフィルハンドルで下へコピーしてみてください。

※ 検索データ(C列データ)が増える場合は元データにまず使うことはないであろうと思われる
「*」(アスタリクス等の文字、#のような文字でも構いません)を入力しておき、数式内の
>C$2:C$6
部分の範囲を広げておきます。
そして検索データが増えた場合はアスタリクスの代わりに検索文字列を入力します。
(空白セルは範囲指定しないようにするためです)

※ C列日付データがシリアル値の場合、別の方法を考える必要があります。m(_ _)m
    • good
    • 1
この回答へのお礼

tom04さま

早速ご回答ありがとうございます!
やりたいことが実現しました。

大変助かりました。

お礼日時:2014/05/30 17:50

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

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

このQ&Aを見た人はこんなQ&Aも見ています

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

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

Qvlookup関数で検索値を含む文字列を検索する方法

vlookup関数で例えば E1のセルに=vlookup(D1,A:C,3,false)とした場合、D1が佐藤であれば、A列に「佐藤」がある場合には当然、「佐藤」がある行の3列目の値が返されますが、「佐藤」はなく「佐藤A」や「A佐藤」がある場合にもこれらがある行の値を返して欲しいのですが、いい方法はありませんでしょうか。*を使ってできると思ったのですがうまくいきません。上記例で、=vlookup("*佐藤*",A:C,3,false)とすればできますが、*佐藤*の部分はD1の引用を利用したいのです。
 よろしくお願いします。

Aベストアンサー

=VLOOKUP("*"&D1&"*",A:C,3,FALSE)

Qエクセルで、条件に一致した行を別のセルに抜き出す方法

エクセルで、指定した条件に一致するセルを含む行をすべて抜き出す方法が知りたいです。

たとえば、

<A列> <B列> <C列>
7/1 りんご 100円
7/2 ぶどう 200円
7/2 すいか 300円
7/3 みかん 100円

このような表があって、100円を含む行をそのままの形で、
別のセル(同じシート内)に抜き出したいのですが。

7/1 りんご 100円
7/3 みかん 100円

抽出するだけならオートフィルターでもできますが、
抽出結果を自動的に、別の場所に、常に表示させておきたいのです。

初歩的な質問だと思いますが、検索しても分からなかったので、よろしくお願いします。

Aベストアンサー

同じ質問が結構よく出てますが、そんなに初歩的でもありません
別シートのA1セルに「100円」と入力し、そのシートの任意のセルに以下の式を貼り付けて下さい。後は、下方向、右方向にコピー。
日付のセル書式は「日付」形式に再設定してください

=IF(COUNTIF(Sheet1!$C:$C,$A$1)>=ROW(A1),INDEX(Sheet1!A:A,LARGE(INDEX((Sheet1!$C$1:$C$500=$A$1)*ROW(Sheet1!$C$1:$C$500),),COUNTIF(Sheet1!$C:$C,$A$1)-ROW(A1)+1)),"")

データ範囲は500行までとしていますが、必要に応じて変更して下さい

QExcel データを部分一致で抽出して表示したい (関数 または VBA)

まずは下のサンプルデータを見ながら本文を読んでください。

Excelの関数(lookup か vlookup) か VBAを利用して、
Sheet2のセルA列にデータを自動的に表示したい と思っています。

Sheet2のセルA列に表示したいデータは、Sheet1のセルAの情報です。

例えば、Sheet2のセルB1が「静岡県」の場合は、「営業2部」という文字が
Sheet2のセルA1に表示されるようにしたいと思っています。

つまり、Sheet1のセルB が Sheet2のセルB の内容と
部分一致した場合に、Sheet2のセルA列に 該当データ(Sheet1のセルA)を
抽出して表示するということをやりたいと考えています。

どうぞよろしくお願い致します。


サンプルデータ

◆Sheet1 参照元となる表

___|___セルA___|________セルB
----------------------------
1 | 営業1部 | 東京都千代田区
----------------------------
2 | 営業2部 | 静岡県
----------------------------
3 | 営業2部 | 山梨県
----------------------------
4 | 営業3部 | 東京都渋谷区
----------------------------
5 | 流通1部 | 神奈川県
----------------------------



◆Sheet2 データを埋めたい表

___|____セルA_____|_______セルB
----------------------------
1 |________________| 静岡県富士市大淵 24
----------------------------
2 |________________| 東京都千代田区丸の内1-8
----------------------------
3 |________________| 大阪府大阪市中央区南船場1―15
----------------------------
4 |________________| 神奈川県横浜市
----------------------------
5 |________________| ※以下 セルBには500件ほどの都道府県データあり。
6
7

まずは下のサンプルデータを見ながら本文を読んでください。

Excelの関数(lookup か vlookup) か VBAを利用して、
Sheet2のセルA列にデータを自動的に表示したい と思っています。

Sheet2のセルA列に表示したいデータは、Sheet1のセルAの情報です。

例えば、Sheet2のセルB1が「静岡県」の場合は、「営業2部」という文字が
Sheet2のセルA1に表示されるようにしたいと思っています。

つまり、Sheet1のセルB が Sheet2のセルB の内容と
部分一致した場合に、Sheet2のセルA列に 該当データ(Sheet1...続きを読む

Aベストアンサー

#3の最後の部分を訂正です。

>となっていると、5行目の「神奈川」を探し出し「流通1部」が返ることになります。

正しくは、探し出せずに何も返らない、です、失礼しました。

Qエクセルで条件に一致したセルの隣のセルを取得したい

下のような「得点」という名前のシートがあります。
(「田中」のセルがA1です。)

 [ 田中 ][ 10 ][ 200 ]
 [ 山田 ][ 21 ][ 150 ]
 [ 佐藤 ][ 76 ][ 250 ]
 [ 鈴木 ][ 53 ][ 350 ]

別のシートのA1セルに、「佐藤」と入力すると、

 [ 佐藤 ]

「得点」シートから「佐藤」の列を見つけて、B1、C1に

 [ 佐藤 ][ 76 ][ 250 ]

のように表示させたいのですが、B1、C1にはどのような式を書けば良いのでしょうか。
「得点」シートでは氏名が重複する事はありません。
IF文を使うと思うのですが、いまいち良く分かりませんでした。

よろしくおねがい致します。

Aベストアンサー

こんにちは!
VLOOKUP関数で対応できます。
IF関数と併用すればエラー処理が可能です。

Excel2007以降のバージョンであれば
B1セルに
=IFERROR(VLOOKUP($A1,得点!$A:$C,COLUMN(B1),0),"")
としてC1セルまでオートフィルでコピー!
そのまま下へコピーすると行が2行目以降でも対応できます。

Excel2003までの場合は
=IF($A1="","",VLOOKUP($A1,得点!$A:$C,COLUMN(B1),0))

としてみてください、m(_ _)m

Q部分一致の対象を表から抽出する方法

Excel2013 での文字列部分一致について、お知恵をいただけませんでしょうか。

[目的]
添付画像のような表1、表2があり
表1の「文字列」を見て、表2の「言語」が部分一致すればその「言語番号」を
表1の「言語番号」に反映するようなものを関数を使用して実現したい。

[補足]
実際は表1の行は大量にあり、表2の行は数行しかありません。

なかなかよい方法が見つからずお知恵をお持ちの方、ご教示いただけませんでしょうか。

Aベストアンサー

B2以下に表1の言葉

E2からE4に表2の言葉,日本語等
F2からF4に表2の数字,1,2,3

がそれぞれ記入してあるとして

C2には
=SUMPRODUCT(ISNUMBER(FIND(E$2:E$4,B2))*F$2:F$4)
と記入,更にセルの書式設定の表示形式のユーザー定義で
#
と設定,以下コピー。

Q複数の文字列のいずれかが含まれていたらTRUEを返す関数について

複数の文字列のいずれかが含まれていたらTRUEを返す関数について
エクセル2003を使用しています。
B列に例えば住所が入力されていて、「東京都北区」「千代田区」「東村山市」等いくつかの文字列のいずれかが含まれていたら、A列にTRUEを返すということをしたいのですが方法がわかりません。
単純なことのような気がするのですがどうしても思いつきません。よろしくお願いいたします。

Aベストアンサー

こうかなあ。。。
A2セル
=OR(SUBSTITUTE(B2,$D$2:$D$4,"",1)<>B2)
[Ctrl]+[Shft] +[Enter] で確定、配列数式です({}で囲まれる)
下へオートフィル

D2:D4に文字列を入力しておく

Qある範囲のセルから任意の値を検索して、その隣のセルの値を取得するという関数はありますか?

Excelの関数について質問します。
ある範囲のせるを検索して、その隣のセルの値を取得するという関数を探しています。
なければユーザー定義で作りたいと思っています。
VLOOKUP関数では一番左端が検索されますが、
それをある範囲まで拡張して、
その右隣の値を取得できるようにしたいのです。
どうかお知恵をお貸しください。

Aベストアンサー

●X1セルの値を範囲A1:F200の中から探して、その右隣のセルの値を返す

 =OFFSET(A1,SUMPRODUCT(ROW(A1:F200)*(A1:F200=X1))-1,SUMPRODUCT(COLUMN(A1:F200)*(A1:F200=X1)))

※最初のA1はワークシートの左上隅を示すものなので、検索範囲に関わらずA1固定
※SUMPRODUCT(ROW(A1:F200)*(A1:F200=X1)) ⇒ A1:F200で値がX1と一致するセルの行番号

>その「ある範囲」の中には検索したい値が入っているセルは1つしかありません。
というのが前提です。複数のセルがHITすると関係ないセルの値が返るので、
場合によっては、IFをかぶせてCOUNTIFで確認した方が良いかもしれません。
 ex. =IF(COUNTIF(A1:F200,X1)=1,【上記数式】,"えらー")

ちなみに、VBAでやるならこんな感じになるかと。

動作の概要
 【検査範囲】から【検査値】を探し、
 最初にHITしたセルについて、右隣のセルの値を返す。
 ex. =Sample(X1,A1:F200)

'--------------------------↓ココカラ↓--------------------------
Function Sample(ByVal 検査値 As Variant,ByVal 検査範囲 As Range)
 For Each セル In 検査範囲
  If セル = 検査値 Then Exit For
 Next セル
 Sample = セル.Offset(0, 1)
End Function
'--------------------------↑ココマデ↑--------------------------

いずれもExcel2003で動作確認済。
以上ご参考まで。

●X1セルの値を範囲A1:F200の中から探して、その右隣のセルの値を返す

 =OFFSET(A1,SUMPRODUCT(ROW(A1:F200)*(A1:F200=X1))-1,SUMPRODUCT(COLUMN(A1:F200)*(A1:F200=X1)))

※最初のA1はワークシートの左上隅を示すものなので、検索範囲に関わらずA1固定
※SUMPRODUCT(ROW(A1:F200)*(A1:F200=X1)) ⇒ A1:F200で値がX1と一致するセルの行番号

>その「ある範囲」の中には検索したい値が入っているセルは1つしかありません。
というのが前提です。複数のセルがHITすると関係ないセルの値が返るので、
場...続きを読む

QエクセルのIF関数で、文字が入力されていたならば~

エクセルのIF関数で文字が入力されていたならば~、という論理式を組み立てたいと思っています。

=IF(A1="『どんな文字でも』","",+B1-C1)

A1セルに『どんな文字でも』入っていたならば、空白に。
文字が入っていなければB1セルからC1セルを引く、という状態です。

この『どんな文字でも』の部分に何を入れればいいのか教えてください。

またIF関数以外でも同様のことができれば構いません。

宜しくお願いします。

Aベストアンサー

=IF(ISTEXT(A1),"",B1-C1)

でどうでしょうか?

QExcelで○○を含むという条件にてvlookup処理(比較)できるでしょうか?

説明が難しいのですが、以下のようなAとBの2つのシートがありまして、BシートのA列にある条件がAシートのA列の歯抜の状態で入力されてます。これにBシートのB列に、AシートのB列を表示したいという状況があります。

具体的なイメージは、以下の通りです。

===========================================
Aシート
 A        B
1 山田真太郎 東京
2 鈴木波奈子 名古屋
3 斉藤ミツル 大阪
-------------------------------------------
Bシート
 A  
1 藤ミツ
2 奈子
3 田真太
===========================================


BシートのB列に関数などを利用して以下のように表示させたいです。
==========================================
 A     B
1 藤ミツ 大阪
2 奈子  名古屋
3 田真太 東京
==========================================

このように、「セルにある言葉を含む」という条件にて、Vlookupを使ったような計算式というのを組む事ができるでしょうか?

私が感じているBシートのB1に入れる関数イメージ
=VLOOKUP((*A1*),A!$A$1:$B$3,2)

何か良い方法があればご教授ください。

説明が難しいのですが、以下のようなAとBの2つのシートがありまして、BシートのA列にある条件がAシートのA列の歯抜の状態で入力されてます。これにBシートのB列に、AシートのB列を表示したいという状況があります。

具体的なイメージは、以下の通りです。

===========================================
Aシート
 A        B
1 山田真太郎 東京
2 鈴木波奈子 名古屋
3 斉藤ミツル 大阪
-------------------------------------------
Bシート
 A  
1 藤ミツ
2 奈子
3 田真...続きを読む

Aベストアンサー

NO2です。
因みに=VLOOKUP("*"&A1&"*",A!A:B,2,FALSE)でも可能ですのでお試しください。

QEXCELで、特定の文字を含むセルを抽出したいのですが。

仕入れ帳のようなシートで、B列に商品名があります。
商品名に特定の文字(数字又は文字)を含む時、空白列のC列に、その文字を抽出する方法をご教示ください。B列の商品名は変化させずにです。
意図は、当シート内で並べ替えをする時に、C列をキーとするためです。
商品名が、各種文字と数字で構成されており、そのままでは、希望する並べ替えができないのです。
宜しくお願い致します。

Aベストアンサー

「IF」関数、「ISERR」関数、「FIND」関数を組合せれば可能ですね。
たとえば、文字「a」を検索するなら、B2セルを対象として、C2セルに、

=IF(ISERR(FIND("a",B2)),"","aが入っています")

と入れます。

注意事項として、アルファベットを検索する場合、大文字と小文字を区別します。
つまり、上の例ではB2セルに「a」があれば、「aが入っています」、と表示されますが、「A」では表示されません。
(「FIND」を「SEARCH」にすれば「a」・「A」どちらでも表示される)


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング