• 締切済み

スプレッドシートであるシートの指定期間のみの参照

Googleスプレッドシートで、B列に日付データがあり、その中から例えば8月のデータのみ、別シートに参照(?)したいです。 Googleフォームで勤怠についてのアンケートに答えてもらい、それらがスプレッドシートに蓄積され、そのデータをもとに月別に給与などを自動的に計算したく、このような方法をとっています。。 具体的には、「form」というシートにはこういうデータが並んでいます   A列    B列   C列   D列   E列   F列   G列  授業日   開始   終了   交通費1 交通費2  手段  その他 2016/08/07 10:00:00 12:00:00  150   150    原付き   2016/08/09 10:30:00 12:30:00  150   150    原付き 2016/08/14 10:00:00 12:00:00  150   150    原付き 2016/09/01 10:00:00 12:00:00  200   200    バス 2016/09/08 10:00:00 12:00:00  200   200    バス この中から8月のみのデータを別シートの【8月分】というシートに参照し、9月のみのデータを【9月分】というシートに参照することによって、その月ごとの給与計算を自動化させたいんです。 いま、素人なりにいろいろなものを参考にして【8月分】というシートにデータを引っ張っているのですが、その式を下のように書いており、2016年8月00日以降のデータを参照している状態になっているので9月分のデータもでてきてしまっています。 =query(form!A2:G,"select A,B,C,D,E, where (date '2016-08-00'<A) ") これを使って、上手く2016年の8月00日以降、8月31日までという風に期間を指定したいのですが、うまくできません。 フィルター機能でもできるような気がするのですが、なるべくいまの計算式を利用して期間指定ができるようになりたいです。 まだまだ勉強中の身で苦戦しておりますが、どうかスプレッドシートにお詳しい方、ご教授願います。。

みんなの回答

  • msMike
  • ベストアンサー率20% (368/1813)
回答No.1

添付図参照 左からシート form、【8月分】、【9月分】を示す。 シート【8月分】または【9月分】において、 I3: =MID(MID(CELL("filename",A1),FIND("]",CELL("filename",A1))+1,99),2,FIND("月",MID(CELL("filename",A1),FIND("]",CELL("filename",A1))+1,99))-2) A2: =IFERROR(INDEX(form!A$1:A$500,SMALL(IF(TEXT(form!A$2:A$500,"yym")=16&I$1,ROW(A$2:A$500),""),ROW(A1))),"") B2: =IF($A2="","",VLOOKUP($A2,form!$A$2:$G$500,COLUMN(),FALSE)) セル B2 を右方へズズーッと(G列まで)オートフィル セル G2 の式の右端に「&""」を付加しえ次式に編集 G2: =IF($A2="","",VLOOKUP($A2,form!$A$2:$G$500,COLUMN(),FALSE))&"" 範囲 A2:G2 を下方へズズーッとオートフィル 【お断り】 1.式を入力する前に、ブックに[名前を付けて保存]しておくこと 2.セル A2 の式のみ、“必ず”配列数式として入力のこと

revlis9-708
質問者

お礼

ありがとうございます! いろいろと調整するのに時間がかかりましたが、なんとか思うようにできました! いまだに式の根本的な部分が理解できておらず、頂いた計算式もほとんど理解できていませんが、なんとかゴールに辿りつけたので良かったです!ありがとうございます!

関連するQ&A