• ベストアンサー

どんな関数を使えば?その2

QNo.2603189で質問させていただいた者です。 エクセルの関数について引き続き教えてください。 「A列」には部屋番号(301、505など) 「B列」にはその部屋番号に対応したその日の室料 「C列」には部屋番号に対応した部屋タイプ(シングル、ツインなど) が入力されています。 並びはランダム(縦に501、812、301・・・のように)です。 ここで、ある1つの部屋タイプを抜き出して、 「D列」に部屋番号 「E列」にその部屋に対応した室料 を表示させたいのですが、どのようにすれば良いでしょうか? 度々で申し訳ないのですが、宜しくお願いいたします!

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

  • ベストアンサー
  • maron--5
  • ベストアンサー率36% (321/877)
回答No.3

   A     B     C       D     E     F 1 部屋番号 室料  部屋タイプ 部屋番号 室料  部屋タイプ 2  501    10000  ツイン     812  15000  ツイン 3  812    15000  ツイン     601  10000 4  301    8000   シングル    501  10000 5  408    8000   シングル 6  601    10000  ツイン ◆F2に「部屋タイプ」を入力します D2=IF(ROW(A1)>COUNTIF($C$2:$C$10,$F$2),"",LARGE(INDEX(($C$2:$C$10=$F$2)*$A$2:$A$10,),ROW(A1))) ★下にコピー E2=IF(D2="","",VLOOKUP(D2,A:B,2,0)) ★下にコピー

popukon
質問者

お礼

ご回答ありがとうございます! 簡潔で、非常にわかりやすいです。勉強になりました!

その他の回答 (2)

  • s_nak
  • ベストアンサー率55% (269/487)
回答No.2

関数でないと駄目ですか? 一覧を見るだけなら、 A1からC1を選択して データ → フィルタ → オートフィルタ とし、C1の下三角形をクリックして部屋タイプを選択すれば、 一覧を見れます。 計算が必要なら、別のワークシートにコピー&ペーストもできます。 また、データの並べ替えを使えば、タイプ順に並び替えできますが、 それでは目的に合いませんか?

popukon
質問者

お礼

ご回答ありがとうございました!

popukon
質問者

補足

申し訳ありません。フィルタや並べ替えはやらない方向で・・・。

  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.1

前回の質問の別回答 D2="ツイン" E2=SUMIF(C:C,D2,B:B) とすれば、E2にツインの部屋の合計が出ます。 部屋数を知りたい場合は F2=COUNTIF(C:C,D2) ですね。 今回の質問の回答は D2=501 E2=IF(COUNTIF(A:A,D2)=0,"",VLOOKUP(D2,A:C,2,FALSE))

popukon
質問者

お礼

ご回答ありがとうございました!

popukon
質問者

補足

私の質問の仕方が曖昧なものでしたので、ここで補足させて頂きます。 ある特定の部屋タイプに属する「すべての」部屋番号と室料を表示させ たいのです。 例えば、CSVからエクセルに貼り付けた時、その日にどの部屋を使っ たのかは表示がランダムで利用した部屋しかCSVに載ってないので一 目ではわかりません。利用部屋を調べて個別に「=301」と言う風に指定 をすることは手間がかかってしまいます。 「この部屋タイプの本日利用した部屋番号と室料をリストアップした い」ということです。「C列」には部屋タイプが入っているので、それ を利用できれば、と思っているのですが・・・。 データを貼り付けたと同時にリストアップされるように出来ますか? ・・・説明が下手で申し訳ありません(T_T)

関連するQ&A