• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセルデータ参照リンク方法(大至急お願い))

エクセルデータの参照方法 | 大至急対応お願い

このQ&Aのポイント
  • エクセルデータの参照方法について教えてください。図のSheet1にデータを入力する際、太田・花田・東の3人がそれぞれ担当する科目の列に氏名を入力します。時間帯ごとに最大3名まで記入され、Sheet2やSheet3の該当セルに科目名が自動的に入力されるようにしたいです。
  • エクセルデータの参照方法について教えてください。入力者の氏名や担当科目に関連するデータをSheet2やSheet3に自動的に反映させたいです。時間帯ごとに最大3名まで記入されます。
  • エクセルデータの参照方法について教えてください。入力者の氏名と担当科目を連動させ、Sheet2やSheet3に自動的に表示させる方法を教えてください。時間帯ごとに最大3名まで記入することができます。

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

  • ベストアンサー
  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.3

例えばシート2のA1セルには楢崎、岡などの文字が、B1セルから右横に日付が、A2セルから下方には9:00-10:30などがA19までの範囲に入力されているとしてB2セルには次の式を入力して右横方向にドラッグコピーしたのちに下方の行番号の19までドラッグコピーします。 =IF(COUNTIF(INDEX(Sheet1!$A:$BS,MATCH(INDEX($A:$A,ROUNDUP(ROW(A1)/3,0)*3-1),Sheet1!$A:$A,0)+MOD(ROW(A1)-1,3),MATCH(B$1,Sheet1!$A$2:$BS$2,0)):INDEX(Sheet1!$A:$BS,MATCH(INDEX($A:$A,ROUNDUP(ROW(A1)/3,0)*3-1),Sheet1!$A:$A,0)+MOD(ROW(A1)-1,3),MATCH(B$1,Sheet1!$A$2:$BS$2,0)+9),$A$1)=0,"",INDEX(Sheet1!$B$4:$M$4,MATCH($A$1,INDEX(Sheet1!$A:$BS,MATCH(INDEX($A:$A,ROUNDUP(ROW(A1)/3,0)*3-1),Sheet1!$A:$A,0)+MOD(ROW(A1)-1,3),MATCH(B$1,Sheet1!$A$2:$BS$2,0)):INDEX(Sheet1!$A:$BS,MATCH(INDEX($A:$A,ROUNDUP(ROW(A1)/3,0)*3-1),Sheet1!$A:$A,0)+MOD(ROW(A1)-1,3),MATCH(B$1,Sheet1!$A$2:$BS$2,0)+9),0)))

ejuschool
質問者

お礼

素晴らしい解答ありがとうございます。 早速試してみましたらできました! あと一つご指導ください。 Sheet2にはA20行から次の1週間分があります。 この場合、上のどの部分を変更してB21に張り付ければいいのかよくわからず困っています。 ご指導ください

ejuschool
質問者

補足

素晴らしい解答ありがとうございます。 早速試してみましたらできました! あと一つご指導ください。 Sheet2にはA20行から次の1週間分があります。 この場合、上のどの部分を変更してB21に張り付ければいいのかよくわからず困っています。 ご指導ください

すると、全ての回答が全文表示されます。

その他の回答 (2)

回答No.2

#1です、なぜか見れなかった画像が見えるようになったので補足します。 私は曜日単位でスケジュールを組んでいるものだと捉え、「数式は滅多に書き換えない・複製しない」事を前提にコードを書きました。が、曜日単位ではなく日付単位でそのようにやられている場合ですと数式の複製を少なくとも数日置きにやる必要がありそうです。 Excelでは数式を簡単にコピーする機能が付いていますが、これは入力が1列ずれると出力が1列ずれる、1行ずれると同じくずれる、といったような非常に単純な規則性を持つ場合にしか使えず、今回の場合のように出力を1行1列ずらすと入力は3行10列ずれるというような場合には用いることが出来ません。 Sheet2等の下の方の領域を使って指すセルを示す文字列を生成して、それをINDIRECT関数を用いて、というようなことをすると回避できますが、ちょっと説明が難しくなります。 そうなってくるとわざわざExcelを使うよりは素直にスケジュール管理ソフトを用いたほうが手っ取り早いように思えますが・・・

すると、全ての回答が全文表示されます。
回答No.1

Microsoft Excelを使用されている前提でしたら、他のシートのセルのデータは、例えばSheet1!A1というような記法で参照できます。 > 各人は自分の列の科目の列のセルに担当する人の氏名を入力していきます。A列には各時間が90分ごとに設定されています。日付は1週間分が横につながっています。同じ時間帯は各3行ずつあり一つの時間帯には最大3名まで記入されます。 「この文章だけを読んだ時」、A列に例えば「9:10-10:30」「10:40-12:10」等のデータが縦に並んでいて、B2あたりに「大田」と書かれていて、B3には数学、C3には理科と書かれており、D2に「花田」と書いてあって、I2に「東」と書いてあり、それらB列からK列までの10列が更に横に4つ追加で並んだ形式を想像してしまうです。合ってます?(画像参照) どんな列の構成になっているのかちょっと文章では分かりにくいので、図か写真か何か、パッと見て分かる感じのサンプルが欲しいです・・・ さて、これが合ってるものとすると、 Sheet2の使用状況が A1:楢崎、B1:月曜日、C1:火曜日、・・・ A2:9:00-10:30、A3:10:40-12:10、・・・ というようになっているものとすると、このSheet2のB2に入るべき文字列は =IF(ISERROR(MATCH(A1,Sheet1!B4:Sheet1!K4,0)),IF(ISERROR(MATCH(A1,Sheet1!B5:Sheet1!K5,0)),IF(ISERROR(MATCH(A1,Sheet1!B6:Sheet1!K6,0)),"",LOOKUP(A1,Sheet1!B6:Sheet1!K6,Sheet1!B3:Sheet1!K3)),LOOKUP(A1,Sheet1!B5:Sheet1!K5,Sheet1!B3:Sheet1!K3)),LOOKUP(A1,Sheet1!B4:Sheet1!K4,Sheet1!B3:Sheet1!K3)) となります。 数字は適宜書き換えて使ってください。 正直言って私の手元にMicrosoftのExcelが無いので上手く動かないかも知れません・・・ 数式が長すぎてExcelがボイコットを起こすかも知れませんが、その場合は「コロンをセミコロンに変更し、OpenOfficeで開く」等試してみてください。

すると、全ての回答が全文表示されます。

関連するQ&A