- ベストアンサー
エクセル 数式を教えてください
エクセル数式の本をみても、どうしても設定できない数式があります。 (そもそも、やりたい内容に対応する数式があるのかすら わからないのですが・・) 店舗運営用で係設定をしているのですが、係だけを抽出した 別の表を作成したいと思っています。 A列には日付が1~31日・1行目には人名(全店員分)がはいった表 があります。 例:閉店業務当番を☆マークでシフトの表に設定しています。 エクセルではないですが、雰囲気はこんな感じです。 山田 鈴木 森 1 早 遅 ☆ 2 ☆ 早 遅 3 休 ☆ 遅 4 ☆ 早 休 5 遅 ☆ 早 ↑ 上記のような表とは別に☆だけついている人のシートを 作成したいです。 ☆ 1 森 2 山田 3 鈴木 4 山田 5 鈴木 現在のところ、目でさがしてて入力しています。 ⇒日付を入力すると、その行から☆をさがして、そこに対応する 人名を表示させる数式を知りたいと思っています。 説明が分かりにくいとは思いますが、宜しくお願いいたします!!
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
既回答を少し修正。 例データ Sheet1 - 山田 鈴木 森 1 早 遅 ☆ 2 ☆ 早 遅 3 休 ☆ 遅 4 ☆ 早 休 5 遅 ☆ 早 ーー Sheet2のB2に =INDEX(Sheet1!$B$1:$D$1,1,MATCH("☆",Sheet1!B2:D2,0)) (行要素1を追加。) B6まで式を複写 ーー 結果 1 森 2 山田 3 鈴木 4 山田 5 鈴木
その他の回答 (2)
- maron--5
- ベストアンサー率36% (321/877)
◆日付順が決まっているなら ★Shjeet1 A B C D 1 山田 鈴木 森 2 1 早 遅 ☆ 3 2 ☆ 早 遅 4 3 休 ☆ 遅 5 4 ☆ 早 休 6 5 遅 ☆ 早 ★Sheet2 A B 1 ☆ 2 1 森 3 2 山田 4 3 鈴木 5 4 山田 6 5 鈴木 ★Sheet2のB2の式 B2=INDEX(Sheet1!$B$1:$D$1,MATCH("☆",Sheet1!B2:D2,0)) ★下にコピー
元の表がSheet1にあり、別のシートのA列2行目から日付が入っているとして、 別シートのB2セル: =OFFSET(Sheet1!$A$1,,MATCH("☆",OFFSET(Sheet1!$B$1:$D$1,MATCH(A2,Sheet1!$A$2:$A$6,0),),0)) として下方にフィルすればOKです。 (Excel2003で動作確認済) ※Sheet1!$B$1:$D$1 の部分は人数に応じて適当に広く。 ※Sheet1!$A$2:$A$6 の部分は日付に応じて適当に大きく。 略解 ・「その日」の行位置を探す ⇒ MATCH(A2,Sheet1!$A$2:$A$6,0) ・「その日の行」の参照を取得する ⇒ OFFSET(Sheet1!$B$1:$D$1,【その日の行位置】,) ・「その日の行の参照」から☆の位置を探す ⇒ MATCH("☆",【その日の行の参照】,0) ・「☆の位置」から名前を探す ⇒ OFFSET(Sheet1!$A$1,,【☆の位置】) ※元の表の日付の位置と別表の日付の位置関係が常に同じなら、 =OFFSET(Sheet1!$A$1,,MATCH("☆",Sheet1!B2:D2,0)) のように相対参照でその日の行を参照することもできます。