プロが教える店舗&オフィスのセキュリティ対策術

Excel での関数についての質問です。

例えばA列に商品名を、B列に個数をそれぞれ入力しています。B列の個数が 「5」 となっている商品名だけを、C1からC2.C3·····と抜き出し表示したいのですが、良い方法はありますか?
よろしくお願いします。

A 回答 (7件)

FILTER関数が使えるバージョンなら、FILTER関数で解決するのが、最も近道だと思います。

FILTER関数が使えないバージョンでの解決方法をお示しします。
添付画像をご覧ください。
>B列の個数が「5」となっている商品名だけをC1から・・・
というご希望ですが、いつでも個数が5だとは限らない気もするので、F1で個数を指定することにしてみました。

C1セルに

=IFERROR(INDEX($A$1:$A$16,AGGREGATE(15,6,ROW($B$1:$B$16)/($B$1:$B$16=$F$1),ROW(A1))),"")

という数式を記述し、下方向へコピーしています。

数式中の$A$1:$A$16,$B$1:$B$16の部分は実際のデータの範囲に合わせて調整したください。
「Excel での関数についての質問です。」の回答画像7
    • good
    • 0

FILTER関数が最適。

    • good
    • 0

[No.4]で書き忘れたこと。

m(_._)m
【お断わり】セル C2 の式は必ず配列(CSE)数式として入力のこと
    • good
    • 0

添付図参照(Excel 2019)


先ず、次の2つの事前準備作業をしておく
1.G/標準"個の商品"
__に書式設定したセル C1 には、数値 5 だけを入力
2.範囲 A1:B10 を選択⇒Alt+MC⇒“上端行”だけにチェック入れ⇒[OK]
__⇒Alt+MN⇒結果は下記の[名前の管理]を参照
___[名前の管理]
___名前  参照範囲      範囲
___個数  =Sheet1!$B$2:$B$10 ブック
___商品名 =Sheet1!$A$2:$A$10 ブック

式↓
=IFERROR(INDEX(商品名,SMALL(IF(個数=5,ROW(個数)),ROW(A8))-1),"")
を入力したセル C2 のフィルハンドルを「エイヤッ!」とダブルクリック

 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄↓↓↓↓↓↓↓↓↓↓↓↓↓
「Excel での関数についての質問です。」の回答画像4
    • good
    • 0

=INDEX(A列、MATCH(5、B列))


これで、B列に5が入っているA列を抜き出せます
    • good
    • 0

こんにちは



スピル機能を使えるエクセルのバージョンなら・・

C1セルに
 =FILTER(A:A,B:B=5,"")
を入力すれば良いです。
    • good
    • 0

関数を使わずとも「オートフィルタ」を使って数量のところで「5」のみを表示するようにした方が良いと思います。



あるいはPowerQueryをつかって同様のことをするかです。

後者の方が便利です。

関数でもIF関数で該当しない商品名のところは空白で、、というのなら簡単にできますが、C列に該当するものだけを列挙するとなるとちょっと面倒になってきますし、表としては見づらいと思います。
    • good
    • 0

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