• ベストアンサー

Excel 複数の当番の氏名を抽出したい

Sheet構成は添付画像の通りです。 A列は担当者の氏名、横列は日付欄です。 担当者の欄は1、2と入力し、表示形式をユーザー定義で"巡回担当"0とする。 抽出するセルに =INDEX($A$5:$A$17,SMALL(IF(B$5:B$17="●",ROW($5:$17)),$A20)) エラーは出ないですが、●を入れていない関係のないところが抽出されてしまいます。 2人当番の該当者氏名を抽出する方法はありますでしょうか。 詳しい方居ましたらご教授下さい。 よろしくお願い致します。

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

  • ベストアンサー
  • msMike
  • ベストアンサー率20% (364/1804)
回答No.2

式を間違えてます、惜しい~ッ! B19: =INDEX($A$5:$A$17,SMALL(IF(B$5:B$17="●",ROW($5:$17)),$A19)) ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ =INDEX($A$5:$A$17,SMALL(IF(B$5:B$17="●",ROW(B$5:B$17)),$A19)-4)

nadeko666
質問者

お礼

当番表で活用することが出来ました。 助かりました。

Powered by GRATICA

その他の回答 (4)

  • SI299792
  • ベストアンサー率47% (774/1620)
回答No.5

前質問のアドレスは載せた方がいいです。 https://okwave.jp/qa/q10169883.html Excel2016 Microsoft365、両方で使えるようにしたいのですね。

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

WEB記事にある、 「条件に合うデータを関数で全て順に抽出できる数式の作り方」 で解説されている関数式を本件に合わせてみました。 URLが長いので、この文章で照会すれば、記事が出るはず。 ーー 例データ A1:B A列  B列 A   <ーー第3行目から以下行にデータ B C ● D E F ● G H ● I J 以下略。 セルA19に「該当」と入れる。実際は「巡回担当1」などか。 セルB19に =IFERROR(INDEX(A:A,1/LARGE(INDEX(($B$2:$B$17="●")/ROW($A$2:$A$17),0),ROW(A1))),"") 下方向に式を複写。 結果 A19:B21 該当 C F H 実際は巡回担当1と巡回担当2しか出ないのかもしれないが。 === 条件に合う行を、連続した行に抜き出す関数式です。 「条件に合う行を抜き出す」問題は、式も長く、式の意味を理解するのが難しく、いつも苦労します。 しかし質問は結構多い。 小生は、配列数式の利用や、中間データを作る式の回答を何度もしたように思う。 その為か、最近は(2021,365では)FILTER関数が新設されていて、そちらの紹介・利用が主流でしょう。

  • msMike
  • ベストアンサー率20% (364/1804)
回答No.3

[No.2]の補足 「ROW($5:$17)」の部分はそのままでも構いません。問題は末尾の「-4」の有無です、為念。

  • SI299792
  • ベストアンサー率47% (774/1620)
回答No.1

$A$5:$A$17 が間違っています。 =INDEX($A:$A,SMALL(IF(B$5:B$17="●",ROW($5:$17)),$A20)) にして下さい。 前回回答の数式も、 $B:$B の様に行全体を指定していました。勝手な変更をすれば正しい答えが出ないのは当然です。 A1から始める前提なので A5を指定すると 4行ずれます。だから、本来C が表示されるはずがその 4つ下のG が表示されています。 どうしても範囲指定にしたかったら、 $A1:$A17にして下さい。

nadeko666
質問者

お礼

回答頂き、ありがとうございました。

Powered by GRATICA

関連するQ&A