アプリ版:「スタンプのみでお礼する」機能のリリースについて

良く似た質問が多数あるかと思いますが、該当する内容が見当たらなかったので、質問させてもらいました。
プルダウンで特定文字を入力すると、別セルに特定のセル内容を順に抽出させたいです。

例) A    B    ・・・・   E     F
1 Aさん  入浴可         Aさん  入浴可
2 Bさん  入浴不可   ⇒    Cさん  入浴可
3 Cさん  入浴可

上記の感じで、特定文字のセル内容のみを別セル枠に集約したいです。
また入力すれば自動的に転送する流れが良いのですが・・。よろしくお願いします。

A 回答 (2件)

E1に


=INDIRECT("A"&SUMPRODUCT((B$1:B$3="入浴可")*1,(COUNTIF(INDIRECT("B1:B"&ROW(B$1:B$3)),"入浴可")=ROW())*1,ROW(B$1:B$3)))
と入力し、必要なだけコピーすれば、
B1~B3の中で、
①入浴可という文字に一致する行で、
②表示するセルの行番号が上からその行までにある入浴可の数と一致する行、
の行番号を取得し、
A列のその行番号のセルに表示されたデータを取得します。

E2の例で言えば、「①B列が入浴可、②B列の入浴可が上から2番目」に一致する「3」行目という情報を入手し、A3に入っている「Cさん」というデータを表示させます。

F1には
=VLOOKUP(E1,A:B,2,FALSE)
と入力して必要なだけコピーすれば、
E1に一致するA列のセルの1つ右のセルのデータを表示できます。
(当然入浴可になりますが)

もしくはE1の式の初めの"A"を"B"にしても同様の結果を得ることができますが、
前者の方が簡単でしょう。配列も使わないので重くなる心配は少ないですし。

入浴可と入浴不可の抽出を変更させる可能性があるなら、
どこかにどちらを抽出するのか入力するセルを作り、式の"入浴可"となっている部分をそのセルの絶対参照(A1なら$A$1と入力)してください。
絶対参照とするのは、他のセルにコピーしても変化しないようにするためです。

長くなりました。参考まで
    • good
    • 0
この回答へのお礼

丁寧な説明ありがとうございます。
上記貼り付けで簡単にできることができました。
業務改善することができ、簡略化できました。

お礼日時:2017/02/06 01:07

こんにちは!



「入浴可」の人だけを表示すれば良いのですね?

E1セルに
=IFERROR(INDEX(A$1:A$100,SMALL(IF($B$1:$B$100="入浴可",ROW($A$1:$A$100)),ROW(A1))),"")

配列数式ですので、Ctrl+Shift+Enterで確定!
E1セルのフィルハンドルで右へ、下へコピーしてみてください。m(_ _)m
    • good
    • 0
この回答へのお礼

ありがとうございました。
上記貼り付けで簡単にできることができました。
配列数式も勉強になりました(^^)

お礼日時:2017/02/06 01:06

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

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


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