• ベストアンサー

エクセルでの抽出条件(関数)

こんばんわ。 A列、B列に次のようなパターンの値があります。 A列は製品番号で、これはこのまま。 B列は製品名で各メーカーのマウスやキーボードの名称があります。 名称のパターンは、 XXXXキーボード(USB) XXXXキーボード/マウス XXXXマウス(USB) XXXXマウスパッド XXXXキーボード(オプション) といったようなパターンに絞られます。 教えてほしいのは、B列にキーボードかマウスを含む時はC列に分類名として「入力関係」という値を入れたいのです。 ただしマウスパッドとオプションを含む場合は空白にしたいです。 お手数ですがよろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.3

次の式でもよいですね。 =IF(OR(COUNTIF(B1,"*マウスパッド*"),COUNTIF(B1,"*オプション*")),"",IF(OR(COUNTIF(B1,"*キーボード*"),COUNTIF(B1,"*マウス*")),"入力関係",""))

top12345
質問者

お礼

ありがとうございました

その他の回答 (2)

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.2

次のような式をC1セルに入力し下方にオートフィルドラッグします。 =IF(OR(COUNTIF(B1,"*マウスパッド*")>0,COUNTIF(B1,"*オプション*")>0),"",IF(OR(COUNTIF(B1,"*キーボード*")>0,COUNTIF(B1,"*マウス*")>0),"入力関係",""))

noname#102340
noname#102340
回答No.1

A1,B1からデータが始まっているならC1セルに以下の数式を入力して下にドラッグしてコピー。 =IF(NOT(AND( ISERROR(FIND("キーボード",B1,1)>0),ISERROR(FIND("マウス",B1,1)>0))),IF(AND(ISERROR(FIND("マウスパッド",B1,1)>0),ISERROR(FIND("オプション",B1,1)>0)),"入力関係",""),"")

top12345
質問者

お礼

ありがとうございました

関連するQ&A

  • エクセルでSUMIF関数にもう一条件

    以下のような条件で値を取得したいのですが、ご教示お願いいたします。 <例> 酒屋さんのチェーン店があり、1商品が売れるごとに1行追加されます。 店の登録番号(A列)、売れた商品名(B列)、値段(C列)、分類 ※酒or酒以外の2種類(D列)があります。 これが「会計シート」にあり、別シートへ値を取り出したいのです。 取り出し方は、店ごとの売り上げ高を出し、更に分類毎に分けたいです。 ここで、店ごとの売り上げ高を出すために、まずSUMIF(会計!範囲,店の登録番号,会計!範囲) というのをつくり、店ごとの値を出しました。 ここで、更に分類毎に分けようとしたのですが、どのような式に すればいいかがわかりませんでした。是非ご教示お願いいたします。 こんな感じで出したいです↓ 店番 分類 金額 001 01 1200 001 02 3400 002 01 9000 002 02 5000

  • エクセルで分類付け(マクロ)

    こんばんわ。 http://oshiete1.goo.ne.jp/qa5404464.html ↑でエクセルの分類付けについていろいろ教えていただきました。 今回はまた別のエクセルで似たような分類付けをするのですが、 上記URLで教えていただいた関数で行うと件数が多すぎてエクセルが応答なしになることがあります。大体5万件以上のときが多いです。 現状の作業をマクロで行いたいのでアドバイスをください。 シートの構成ですが、1シート(シート名は作業用)のみにデータはまとまっています。 A列は製品番号 B列は製品名(ハードディスクやメモリなどPC周辺機器全般です) C列は分類名として関数を使ってB列の分類付け。 となっています。各列の1行目は見出しです。 分類数は現状20種類以上です。 また今回のデータには未分類扱いのデータもあります。 それは削除せずに分類名を未分類をしなければなりません。 教えてほしいのは、 (1)D列から右側の作業列を使わずにマクロで一気にC列にB列の分類名を入力するやり方。 (2)分類名と同じシートを作成して各シートに値をコピペ(A列とB列のみ) 例えばCPUの分類ならシート:CPUに値をコピペするといった具合です。 ===C列に入れる分類名と分類条件=== (1)分類名:未分類 分類条件:B列に"AAA"、"BBBB"、"CCCCC"という値がある。10種類あります。 "AAA"を含むでなく、完全一致の場合は未分類にします。 (2)分類名:CPU 分類条件:分類名が未分類でなく、B列に"GHz"か"AMD "か"Intel(R)"を含む。 (3)分類名:HDD 分類条件:分類名が未分類でなく、B列に"ハードディスク"か"ハードドライブ"を含む。 (4)分類名:メモリ 分類条件:分類名が未分類でなく、B列に"DDR"を含む、"メモリ"を含む。 (5)分類名:FDD 分類条件:分類名が未分類でなく、B列に"フロッピ"を含む。 (6)分類名:DVDROM 分類条件:分類名が未分類でなく、B列に"DVD-ROM"を含む。 (7)分類名:DVDスーパーマルチ 分類条件:分類名が未分類でなく、B列に"スーパーマルチ"を含む、"ブルーレイ"は含まない。 (8)分類名:ブルーレイ 分類条件:分類名が未分類でなく、B列に"ブルーレイ"を含む、"スーパーマルチ"は含まない。 (9)分類名:ブルーレイスーパーマルチ 分類条件:分類名が未分類でなく、B列に"ブルーレイ"を含む、"スーパーマルチ"を含む。 (10)分類名:CDRW 分類条件:分類名が未分類でなく、B列に"RW"を含む、"コンボ"は含まない。 (11)分類名:コンボ 分類条件:分類名が未分類でなく、B列に"コンボ"を含む。 (12)分類名:DAT 分類条件:分類名が未分類でなく、B列に"DAT"を含む、"カートリッジ"は含まない。 (13)分類名:OS 分類条件:分類名が未分類でなく、B列に"Windows"を含む、"リカバリ"は含まない。 (14)分類名:グラフィックス 分類条件:分類名が未分類でなく、B列に"NVIDIA"を含む、"RADEON"を含む、"グラフィック"を含む。 (15)分類名:モニター 分類条件:分類名が未分類でなく、B列に"ハード"を含まない、"型"を含む、"インチ"を含む。 (16)分類名:パラレル 分類条件:分類名が未分類でなく、B列に"パラレル"を含む。 (17)分類名:1394 分類条件:分類名が未分類でなく、B列に"1394"を含む。 (18)分類名:入力装置 分類条件:分類名が未分類でなく、B列に"キーボード"を含む、"マウス"を含む、"パッド"は含まない。 (19)分類名:電源 分類条件:分類名が未分類でなく、B列に"電源"を含む、"標準"は含まない。 (20)分類名:規格 分類条件:分類名が未分類でなく、B列に"エネルギー"を含む。 (21)分類名:保証 分類条件:分類名が未分類とモニターでなく、B列に"年"を含む、"時間"を含む ===ここまで=== 上記の分類付けに当てはまらないものもあるのですが、それは空白のままにします。どのような分類にするかは検討中です。 記録マクロでやるにも編集が難しくて自力ではすぐには無理そうでした。 お手数ですがよろしくお願いします。

  • エクセルのVLOOKUP関数で…(複数条件?の抽出)

    ●シート2、A列に部品正式名称、B列に部品略称の一覧表(部品の種類は約500点) ●シート3、A列に略称、B,C,D,E,F,G列と続けて寸法などの詳細を記した一覧表 があります。 ●シート1に検索一覧表として、B列(B3~B8)は項目、セルC3~C8にVLOOKUPでシート3の情報が抽出されるようにしてあります。 C1で略称を入力し抽出するのはOKなのですが、正式名称で入力しても同じようにシート3の情報を抽出するようにしたいです。 (IFを使って思いつく関数を組合わせてみたりしたのですが、うまくいきませんでした(TT) できたら関数で何か良い方法ありますでしょうか? 宜しくお願いします。

  • エクセルでフィルターで抽出した値を列ごと別シートにコピーするには

    こんばんわ。 http://oshiete1.goo.ne.jp/qa5402281.html ↑で質問させていただいた続きです。 A列に商品番号 B列に商品名 C列に分類名 このようなエクセルでC列にはPCやTVといった分類名があり、分類名ごとにフィルターをかけて別シートにA列、B列、C列を列ごとコピペしたいです。 例えば、C列のPCという値はシート名がPCというシートにA,B,C列をコピペ、TVならシート名がTVというシートにコピペするという具合です。 分類毎のシートは既に作成してあるので、フィルターをかけてコピペする部分を自動化できないかと思ってます。 似たような質問を検索しましたが、どうもわかりやすいのが見つからなかったもので・・・ お知恵を貸してください。 ちなみにエクセルのバージョンは2003です。 よろしくお願いいたします。

  • エクセルの関数(抽出)について

      1  2   3   4  5 A   あ   ko   ▲ ■  B   か   sa C   もへ  we D   あ   ty E   てろ   lii F   ぎ   loer G   か   ttg H   あ   rer 上のような表があったときに、A4のセル(▲)に「あ」と入れると、 A5のセル(■)に『rer』と入るような関数(又はそれに代わる方法)を ご教示ください。 やりたいこと: 2列目の中に、▲と完全一致する値(又は文字列。以下同じ。)が存在するとき、 同じ列の3列目の値を返したい。 ただし、2列目には完全一致する値が何度も登場する可能性があり、 2列目に▲と完全一致する値が複数存在する場合は、その内一番下の行 のものを選び、同じ行の3列目の値を■に返したい。 条件: ・可能であれば、2列目をキーにした並び替えなどは行いたくない。 ・現状のデータは、3000行程度のデータ量であるが、今後じょじょに増えていく。 以上です。 説明が明瞭でなく、イメージがお伝えできていないかも知れませんが、 どうかご教示頂きたく、なにとぞよろしくお願い致します。

  • この条件を抽出できるエクセルの式を教えてください

    A列(A2からA602)にグループ名、B列(B2からB602)に対応日が入っているデータがあります。ただし、未対応の場合には日づけは空欄です。 今、A列であるグループを抽出し、B列にまだ日付が入っていない(未対応)の件数を出したいのです。 COUNTIF(A2:A602,"抽出したいグループ名")とCOUNTBLANK(B2:B602)あたりの関数を使うのかな・・・と思って試行錯誤してみましたが、数式ができません。 アドバイスをお願いします。

  • エクセル2003の関数について教えて教えて下さい

    どなたかご教授下さい。 現在 ・・・・・・・・・・・・・・・・・・ A列 B列 C列 1 A  100  2 B  100 3 C  100  4 D  100 ・・・・・・・・・・・・・・・・・・ の、条件として A列に入る値が Aの時:B列×0.8 A列に入る値が Bの時:B列×0.5 A列に入る値が Cの時:B列×0.2 A列に入る値が Dの時:B列×1.0 を設定しています。 ですので、現在のシートは ・・・・・・・・・・・・・・・・・・・ A列 B列 C列 1 A  100  80 2 B  100 50 3 C  100  20 4 D  100 100  という状態です。 ・・・・・・・・・・・・・・・・・・・ 今後このシートを参照して 現在AであるC列の値の合計値 現在BであるC列の値の合計値 現在CであるC列の値の合計値 現在DであるC列の値の合計値 をそれぞれを算出し以下のように表示したいと考えています。 現在A→計350 現在B→計200 現在C→計120 現在C→計500 このような計算を行う場合の数式はどのようになるのでしょうか。 良い案がありましたら、どなたかご教授下さい。 宜しくお願いします。

  • Excelの関数について

    A列に分類番号(1~9)、B列に金額 この二つのデータがズラーっと並んでいるデータを A列の分類番号ごとに合計を出したいのですが、 IF文の知識がないので、ご存知の方ご教授願います。 集計結果として各分類番号ごとの合計がほしいのですが、 さらにデータを追加していったときに自動的に分類番号を認識してその番号の合計に加算されていくようにするための関数を教えてください。 A列  B列 5   1,500 2   4,250 1   1,200 5   3,500 3   1,300 9   2,320 ・   ・ ・   ・ ・   ・ <集計結果> 分類 合計金額 1    ○円 2    ○円 3    ○円 ・   ・ ・   ・ ・   ・

  • エクセルでの関数を使った条件抽出方法について

    エクセル初心者です。 エクセルでの関数を使った条件抽出方法についてどなたかご教授願います。 よろしくお願いします。 Sheet1の特定のセルに対して、Sheet2中にある条件に一致するセルの値を 表示させる方法がわかりません。 <具体的内容> 次のような2つのシートがあります。 Sheet1       -------------------------     A     B     C  1                2  2  費目1 3  費目2 4  費目3 ------------------------- Sheet2 -------------------------     A     B     C     D 1  2          1     2     3 3  費目2   100   200   300 4  費目1    30    10    20 5  費目3   150   350   250 ------------------------- Sheet1のC1のセルと同じ数値をSheet2の2:2行から探して、 一致する数値に該当する列の3~4行目の値を、 Sheet1のA2:A3の費目とSheet2のA3:A5の費目とが 一致するようにして、Sheet1のB2:B3に表示したいです。 このときSheet1のB2~B3にはどのような関数式を入れたらよいですか? 上の場合だと、Sheet1のB2=10、B3=200、B4=350となってほしいです。 HLOOKUP、COLUMNなど組み合わせてみたのですが、 全くうまくいきません。簡単ではないのでしょうか? どなたか教えてください、よろしくお願いします。

  • EXCEL関数で教えてください。

    B列に3行おきに名称があります。 C列にその名称ごと(3行ごと)のロット数 D列にその名称ごと(3行ごと)の値A E列にその名称ごと(3行ごと)の値B が入力されています。 そのデータを名称ごとに1行にまとめる場合の関数を教えてください。

専門家に質問してみよう