• ベストアンサー

フィルタ内で指定するエクセル関数を教えて下さい!

6桁の商品番号で管理している商品テーブルがあります。それにはフィルタがかけられてます。商品番号の下2桁が30番台と40番台のもの(****30~****49)だけを表示させたいのですが、フィルタのオプションの中でどういうエクセル関数を設定すればいいのでしょうか? 教えてください。どうぞお願いします。_(>_<)_

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

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

例えばA1セルに商品番号と文字があり2行目以降にデータがあるとします。 作業列としてB1セルには30-49選択とでも入力します。 B2セルには次の式を入力して下方にオートフィルドラッグします。 =IF(A2="","",IF(AND(RIGHT(A2,2)*1>=30,RIGHT(A2,2)*1<50),1,"")) 該当の商品番号には1が表示されますのでB列のフィルタで1を抽出すればよいでしょう。

mymym
質問者

補足

なるほど、列を1つ追加した上でフィルタをかける訳ですね。 ちょっと疑問なのは、「*1」は、何か意味があるんでしょうか? 無くてもいい様な気がするんですが、何か役割があるのかな。。と思いまして。。。 それと、できれば関数の列を追加せずに、フィルタ機能だけで抽出する方法はやはりないでしょうか? 列を追加するとフィルタを一旦解除してまたフィルタをかける、という手間が発生し、もともと抽出されていた条件が解除されてしまいます。 欲を言えば、もともとフィルタされているデータをさらにフィルタするという方法があったらいいな、と思います。 ご存知でしたらどうぞよろしくお願いします。

その他の回答 (2)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.3

質問に実例を挙げたほうが判りやすいと思う。 >それにはフィルタがかけられてます この状態(結果)から、またフィルタを重ねるのでしょうか。 (下記(注1)説明参照) 例データ 4桁の例にします。 下記データは文字列で入力したもの A列 番号 1234 2345 3212 5623 2334 1251 条件としてF1:F2に 番号 ??3? フィルタオプションの設定 リスト範囲 $A$1:$A$7 検索条件範囲 $F$1:$F$2 抽出する範囲 $D$9:$D$17 で 結果 $D$9:$D$11は 番号 1234 2334 に鳴りました。こういうので良いのでしょうか。 ==== (注1) 例データ 番号 区分 1234 1 2345 1 3212 1 5623 1 2334 1 1251 1 3457 1 2239 1 3456 2 4431 2 のデータで 区分の1をフィルタ足した状態で 上記をやったところ 結果は 番号 1234 2334 2239 4431 で4431が出てきてしまう。 当初のフィルタ条件もフィルタに書き込まないとダメのようだ。 番号 区分 ??3? 1 のように。

mymym
質問者

補足

ありがとうございます。 バージョンが違うのか、私の使ってるエクセルで、 >リスト範囲 $A$1:$A$7 >検索条件範囲 $F$1:$F$2 >抽出する範囲 $D$9:$D$17 のような設定できる場所はなかった気がします。。 (今は自宅でこれを見てますが、会社はネット制限があり、ここでのご回答を見ながら確認することができません。明日会社で確認します) >この状態(結果)から、またフィルタを重ねるのでしょうか。 そうです。 回答番号:No.2での補足で書いたように、フィルタを重ねることによって、段階的に範囲を狭くしながら、データを追っかけて確認していけるような方法を探しています。

  • ahirudac
  • ベストアンサー率46% (84/180)
回答No.1

EXCELのバージョンによって違いはあるかもしれませんが、手元には2007しかないのでそちらで確認しました。 前提条件として商品番号はすべて6文字であるとします。 まず▽を押して「テキストフィルタ」「ユーザー設定フィルタ」とします。条件設定に次のように指定します(「AND」「OR」は「OR」を選択)。 「????3?」「と等しい」 「????4?」「と等しい」 こうすることで30番台と40番台が抽出できると思います。 ご参考までm(__)m。

mymym
質問者

補足

ありがとうございます。 会社ではネットが制限されてるので、今は自宅からこれを書いてます。 なのでバージョンは今わかりません。 今日試しにやってみたのは、 フィルタでオプションを選んで、 左側に「=right(A:A,2)>30」と入力、右側で「以上」を選択 で抽出かけてみましたが、何も表示されませんでした。 明日、左側で「=right(A:A,2)=3」、右側で「と等しい」、 ORを選択して、さらに下欄で左側で「=right(A:A,2)=4」、右側で「と等しい」 を試してみます。