• ベストアンサー

エクセル 数式を教えてください

エクセル数式の本をみても、どうしても設定できない数式があります。 (そもそも、やりたい内容に対応する数式があるのかすら わからないのですが・・) 店舗運営用で係設定をしているのですが、係だけを抽出した 別の表を作成したいと思っています。 A列には日付が1~31日・1行目には人名(全店員分)がはいった表 があります。 例:閉店業務当番を☆マークでシフトの表に設定しています。   エクセルではないですが、雰囲気はこんな感じです。     山田 鈴木 森    1 早  遅  ☆   2 ☆  早  遅   3 休  ☆  遅   4 ☆  早  休   5 遅  ☆  早  ↑ 上記のような表とは別に☆だけついている人のシートを   作成したいです。            ☆       1 森       2 山田       3 鈴木       4 山田       5 鈴木  現在のところ、目でさがしてて入力しています。  ⇒日付を入力すると、その行から☆をさがして、そこに対応する   人名を表示させる数式を知りたいと思っています。  説明が分かりにくいとは思いますが、宜しくお願いいたします!!        

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

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.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)
回答No.2

◆日付順が決まっているなら ★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)) ★下にコピー

noname#52504
noname#52504
回答No.1

元の表が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)) のように相対参照でその日の行を参照することもできます。

関連するQ&A