• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:1日~7日指定した日にちのデーターだけひろう方法がありますか、)

1日~7日の指定日にちのデータを取得する方法

このQ&Aのポイント
  • 指定した日にちのデータを抽出する方法を教えてください。
  • 1つのシートに明細書・勤怠が同じ並びであり、週払いの明細を取得したいです。
  • 同じブックにスタッフ一覧があり、週払いスタッフを判別するためのチェックボックスがあります。これを利用して何か別の操作を行いたいです。

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

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

実は文章が複雑すぎてご質問の意味がよく理解できません。しかし、指定した日付のデータを表示させるための簡単な方法は作業列を使って対応することでしょう。 例えばA2セルから下方に5/1からの日付があるとします。1行目は項目名などがあり、すべてのデータは2行目から下方に有るとします。そこで取り出したい日にちに範囲を例えばE2セルとF2セルに入力するとします。例えばE2セルには5/7、F2セルには5/14のように入力します。 そこで取り出したい行を選ぶわけですが作業列としてG列を使用することとしてG2セルには次の式を入力して下方にオートフィルドラッグします。 =IF(A2="","",IF(AND(A2>=E$2,A2<=F$2),MAX(G$1:G1)+1,"")) これで該当する行には上から1,2,3のように番号が振られます。この番号を利用して日付の行を取り出すことができます。 例えばシート2のA列に取り出した日付を表示させ、B列やC列にシート1の表でのB列やC列を表示させるとしたら、A2セルには次の式を入力して右横方向にオートフィルドラッグしたのちに下方向にもオートフィルドラッグします。 =IF(COUNTIF(Sheet1!$G:$G,ROW(A1))=0,"",IF(INDEX(Sheet1!$A:$F,MATCH(ROW(A1),Sheet1!$G:$G,0),COLUMN(A1))="","",INDEX(Sheet1!$A:$F,MATCH(ROW(A1),Sheet1!$G:$G,0),COLUMN(A1)))) なお、シート2のA列で日付の表示されるセルの表示形式は日付から指定します。 これまで述べてきたようなことが表を作成する上での基本となることでしょう。一度提案した通りの方法で試験してみてください。その上で、ご自分のデータについてそれを応用するようにされてはいかがでしょう。

07535373
質問者

お礼

回答ありがとうございます。 返事が遅くなりました、 質問が、下手なので 分かりづらくすみませんでした。 さきほど やっと回答に意味がつかめてきました (頭が悪い物で・・・すみません) 明日会社のシートで 試してみます。 ありがとうございました。

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

その他の回答 (2)

  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.3

ご質問内容だけを見ていると、単純に特定範囲の日付のデータを関数で抽出したいというように見えますが、それでよいのでしょうか? もしそのような条件なら日付をキーとするVLOOKUP関数を使えば良いと思います。 ちなみにキーとなる日付を抽出するには、たとえば開始日がW15セルに入力されているなら単純に以下の式を入力し、下方向にオートフィル(1週間分なら7つ)するだけで良いと思います。 =$W$15+ROW(A1)-1 ちなみにO列に同じ日付が入力されているなら、以下のような配列数式で特定の日付範囲のデータを抽出することができます(終了日がX15セルに入力されている場合)。 =IF($X$15-$W$15+1<ROW(A1),"",INDEX(O:O,SMALL(IF(($O$16:$O$50>=$W$15)*($O$16:$O$50<=$X$15),ROW($O$16:$O$50),""),ROW(A1)))) 入力後、Ctrl+Shift+Enterで確定して下方向および右方向にオートフィルします。 表示形式を調整する必要がある場合や、空白セルが0と表示されないようにするには、セルの表示形式を適宜設定してください。

07535373
質問者

お礼

お礼が遅くなりました。 あまりにも 私の質問の仕方が悪いので、今、別の質問に変えて 出したところです。 質問が、ダブってまた御叱りを受けそうですが・・・ やりたい事は、 このような事です。 1シートに1名分の勤怠明細表があります。  ・・A・・・・・ B・・・・・・・C・・・・・・・D・・・・・・・E・・・・・・・・F・・・・・・・・G・・・・・・・H・・・・・・・・・K       ・日月・・・出勤・・・・退勤・・・・休憩・・・・実働時間・・・・時給・・・・・時間内・・・・時間外・・・・基本賃金 15 16  5月1日・9:00・・・・12:00・・・・1:00・・・・・2:00・・・・・・850・・・・・・1700・・・・・・・・・・・・・・¥1700円 17  5月2日 18  5月3日 19  5月4日 Fの12に、 支払金額が表示されます。 上記のような表が横並で、3枚(仮にA表・B表・C表) 3枚とも同じ書式で、A表・B表とも 時間の入力は、(B 列C 列D 列)別のシートからリンクされてます。 やりたい事は 3枚目C 表が、週払い用になってまして、 現在B表の時間を 張り付けしてましたが、 たとえば  ・・・・・・・ AE・・・・・・AF・・・・・AH・・・・・・ AJ  4     ・1回目・・・・・ 5/1 ・・・・・5/5 ・・・・・ ¥3200 5     ・2回目・・・・・5/6 ・・・・・5/12 ・・・・・¥62000 6     ・3回目 7     ・4回目  AF4に検索開始日 5/1 AH4に検索終了を入れると、 指定した日数の支払金額を、AJ4に出す事が出来るでしょうか、  週払いは、同じ月の日曜日~月曜で 月に 3回か4回です。 張り付けで作業してますと、その月の前のデーターが、残らないので、 当月の週払い金額 約 3回分が 残る形で考えているのですが

全文を見る
すると、全ての回答が全文表示されます。
  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.2

良くある帳票とはいえ、質問者の会社の帳票名だけ、質問に書いて、長々書いているが、読者には判るわけが無い。イメージで回答するのでなく関数式などまで聞きたいのだろうから。 画像を貼り付けたのは良いが、ぼやけて読み取りにくい。 例データを整理して、質問内にタイプして載せてほしい。 もっと整理して問題点を説明できないのか。 ーー この程度の仕事がらみの処理は、関数では複雑になりすぎると思う。VBAが必要だと思う。VBAは経験ありますか。なければ従来どおり手作業でやるしかない。 結局、条件に合った行の抜きだし問題だと思うが、関数では苦手で、#1のように式が複雑になり、初心者には何をやって居るか理解できないのでは。 関数による抜き出し問題は、Googleで「imogasi方式」で照会すれば、各種の方法の回答例が出てくる。 Imogasi方式は作業列を使うがために、すこし理解しやすいと思うが。 ーーー 従業員各人の1か月分のエクセルデータは、1シートになっているのか。 日付はある列に上から下の行に固まって並んでいるのか。 その中から在る週の7日分を抜き出した表を作りたいのか。週はどういう決め方か(月耀ー日耀か) そういう大事なことを説明し、1人分のデータ例と、週払いの資料のデータ部分の配置を示すべきだ。 >A明細は、社員送付用・B明細は会社控え用 C 明細は、週払いスタッフ用 こんなのもVBAでやったり、システムプロがやるときは、元データは1シートで、あと派生して作れるものはVBAで整えて作る。

07535373
質問者

お礼

厳しいご意見ですが、 おっしゃる通りだと 思います。 提示した表も見ずらいし・・・ 細かな 説明不足ですね。 整理してから 検討しなおして 必要であれば また質問します。 ありがとうございました。

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

関連するQ&A

  • 勤怠で指定した日にち(5/1~5/6)入れると計算結果だけ出せますか?

    勤怠で指定した日にち(5/1~5/6)入れると計算結果だけ出せますか? 1シートに1名分の勤怠明細表があります。  ・・A・・・・・ B・・・・・・・C・・・・・・・D・・・・・・・E・・・・・・・・F・・・・・・・・G・・・・・・・H・・・・・・・・・K       ・日月・・・出勤・・・・退勤・・・・休憩・・・・実働時間・・・・時給・・・・・時間内・・・・時間外・・・・基本賃金 15 16  5月1日・9:00・・・・12:00・・・・1:00・・・・・2:00・・・・・・850・・・・・・1700・・・・・・・・・・・・・・¥1700円 17  5月2日 18  5月3日 19  5月4日 Fの12に、 支払金額が表示されます。 上記のような表が横並で、3枚(仮にA表・B表・C表) 3枚とも同じ書式で、A表・B表とも 時間の入力は、(B 列C 列D 列)別のシートからリンクされてます。 やりたい事は 3枚目C 表が、週払い用になってまして、 現在B表の時間を 張り付けしてましたが、 たとえば  ・・・・・・・ AE・・・・・・AF・・・・・AH・・・・・・ AJ  4     ・1回目・・・・・ 5/1 ・・・・・5/5 ・・・・・ ¥3200 5     ・2回目・・・・・5/6 ・・・・・5/12 ・・・・・¥62000 6     ・3回目 7     ・4回目  AF4に検索開始日 5/1 AH4に検索終了を入れると、 指定した日数の支払金額を、AJ4に出す事が出来るでしょうか、  週払いは、同じ月の日曜日~月曜で 月に 3回か4回です。 張り付けで作業してますと、その月の前のデーターが、残らないので、 当月の週払い金額 約 3回分が 残る形で考えているのですが、 分からないので おたずねします。 よろしくお願いします。

  • ”2009/7/2 9:01:00” の日にちのみの変更。

     初めまして、よろしくお願いします。  一つのセル内(A1内)に”2009/7/2 9:01:00”と入力されているデーター表        A         B 1 2009/7/2 9:01:00 2 2009/7/2 9:13:00 3 2009/7/2 9:15:00 4 2009/7/2 9:25:00 5 2009/7/2 9:33:00 6     : :     :  があります。ここで年、月、時間はそのままで、日にち部分のみを変更したシートを複数作りたいと思っています。できましたら関数式で、日にちを打ち込めば総て表せるようにしたいと思います。何か良い方法がありましたら、よろしくお願いします。

  • データ検索

    エクセル2003VBAの質問です。 AシートにAデータベースがあります。 そのデータベースには一つのセルに、日にちと時間が入力されています。(例 2008/10/07/ 16:29) BシートにもBデータベースがあります。 Aシートの先程のセル(日にちと時間)を、Bシートで検索したいです。 しかし、このBシートには、Aシートのセルが一致しないものもあります。 一致すれば、Aシートの先程のセルとAシートに入力されている、他の項目をCシートにコピーしたいです。 一致しなければ、そのデータベースは無視して、Aシートに入力されている次のデータ(次の行)を検索したいです。 どうすれば良いでしょうか? よろしくお願いします。

  • 住所録のデータのリンクについて

    (A)住所録の作成 シート1には B2セル:会社名、C2セル:住所、D2セル:電話番号 E2セル:有効期限のデータを入力しています。 (データ内容は随時、追加・変更があります。) A2セルに 五十音で見出しをつけています。「あ」「い」・・・ シート2の名前を「あ」にした場合、シート1の「あ」で始まる会社名をリンクさせたい。 シート1の「あ」のすべてがシート2の行にどんどん増えていくようにしたいのです。 (B)あるいは シート2「あ」、シート3「い」、シート4「う」・・・・・と五十音順に設定 シート2「あ」には、「あ」から始まる会社名 a2セル:あ、b2セル:会社名、c2セル:住所、d2セル:電話番号、E2セル:有効期限のデータを入力 以降のシートにも、「い」から始まる会社名・・・を入力 シート1に各シートのデータを集めてリンクさせたいのです。 (会社名の数が、各シート毎によって差があります。) 今から作成していきますので、どちらの方法でもいいのですが・・・ なぜ集計するのかというと、「有効期限」の確認をしたいためです。 たとえば、H23年において、有効期限が切れている会社の名前を知りたいのです。 お教えくださいますようお願い申しあげます。

  • データのリンク

    こんばんは、教えて下さい EXCEL2003を使っています。shee1はA5:A8 , B5:B8 , C5:C8の結合セルが4行単位で, A列、B列、C列2400行まで続いています。 sheet2には、下記のような型で沢山のデータがあります A2 A-1-1 (sheet1! A5:A8結合セル) B2 A-B-1(sheet1! B5:B8結合セル) A3 A-2-2 (sheet1! A9:A12結合セル) B3 A-B-2(sheet1! B9:B12結合セル) A4 A-3-3 (sheet1!A13:A16結合セル) B4 A-B-3(sheet1!B13:B16結合セル) sheet2 A,B,C列のデータを、shee1結合セルに旨くデータリンクを掛けたい

  • エクセル データを時間帯別にとりこむ方法

    たびたび申し訳ございません。 エクセルの時間の表示が式にうまくのらないので投稿しています。 まず、sheet1には時間が入力されています。 これを時間帯別の表であるsheet2に引っ張ろうとしています。 sheet1 A 17:58 18:32 18:50 sheet2 A B C 17:30 18:00 1 18:00 18:30 0 18:30 19:00 2 それで、sheet2のC1に以下の式を入力してもsheet1のデータ数が出ません。 =COUNTIFS("sheet1",>=A1,"sheet1",<B1) それで以下のようにセル名ではなく時刻を入力するとデータ数が出てきます。 =COUNTIFS($G$3:$G$24,">=17:30",$G$3:$G$24,"<18:00") セルの書式設定が関係しているのでしょうか。 ご多忙の中申し訳ございませんがよろしくお願いします。

  • excel 行データを列データにリンクする方法

    元のデータが横に進行するようになっています。 別のシートであるデータをリンクさせて縦に書かれるようにしたいのですが、うまく参照してくれません。 例えばsheet1に元データがありリンクさせたいデータが、 A1 B1 C1 D1 ・・・・・と入力されているとして 別のシートsheet2を作って A1に「='sheet1'!A1」 A2に「='sheet1'!B1」 A3に「='sheet1'!C1」 A4に「='sheet1'!D1」 ・ ・ ・ となるようにリンクさせたいのですが、1つ1つ書いていくしか方法が見つかりません。 データが少なければいいのですが、量が多くしかも今後も増えていくのでできれば列ごと全てリンクできるようにできればなあと思っています。 なにか方法がございましたら教えてください。お願いします。

  • あいまい検索でヒットするデータを表示する方法

    office2016 ある機種のデータをsheet1のA列2行目以降に取り込みます code  ←題目 1233 127011 ←(A) C00001 C00233 … C90001 ←(B) その後昇順にならんだデータにします。約50行くらいあります。 (A)のデータは 1270で始まるデータで 127011,127021の様に6ケほど存在します。 (A)のデータは機種に必須のデータなので6ケの中でどれか1つが必ず存在します。 文字列と数字が混載表示のデータで1270が含まれるデータはありません。 C91270の様なデータは無いということです。 (B)のデータは C9000で始まるデータで C90001,C9002の様に5ケほど存在します。 (B)のデータは機種に必須ではないので、存在しない場合があります。 A列のデータの中から (A)で存在するデータはsheet2のG3セルへ (B)で存在するデータはsheet2のM3セルへ それぞれ表示したいのですが、何か簡単に一発で表示される良い方法があれば教えていただきたく。 現状の構成は次の通りです。 マクロで下記を対応してます。 Aデータの有無を確認する作業シート(シート名はA)を設けて A列にコピーし B2セルに判定として =IF(ISERROR(SEARCH("1270",A2,1)),"対象外",SEARCH("1270",A2,1)) これをA列の行分コピー B列で対象外の行を削除 1行目が題目で2行目に対象のデータが残るのでそれを表示 code 127011   1 の状況になるので SHEET2のG3セルは =IF(A!B2=1,A!A2,"") とすると 127011がG3セルに表示される Bデータの有無を確認する作業シート(シート名はB)を設けて A列にコピーし B2セルに判定として =IF(ISERROR(SEARCH("C9000",A2,1)),"対象外",SEARCH("C9000",A2,1)) これをA列の行分コピー B列で対象外の行を削除 1行目が題目で2行目に対象のデータがあれば残るのでそれを表示 code C90001   1 の状況になるので SHEET2のM3セルは =IF(B!B2=1,B!A2,"") とすると C90001がM3セルに表示される C9****のデータが存在しない場合、M3セルは空欄表示でOK これで一応やりたい内容は達成できていますが、関数で一発表示ができたらとの思いです。マクロでも構いません。 よろしくお願いします。

  • エクセルVBAで 指定のデーターを指定のシートへ書き込む方法

    入力する表が 下記の通りです 日付  氏名    内容 1   Aさん   12345 2   Bさん   23456 3   Cさん   34567 2   Aさん   56789 3   Bさん   98765 5   Aさん   34986 というような表です シート名は"Aさん"という名のシートと"Bさん"というシートと"Cさん"という名のシートがあります。 そのAさんという名のシートには 日付  内容 1    2    3 4 5 6 というような 表があります。これは"Bさん""Cさん"ともいっしょです この"Aさん""Bさん""Cさん"の名前を判別して、その"内容"をAさんならAさんのシートの同じ日付の"内容"に書き込みたいのです。 結果としては、 Aさんのシート 日付  内容 1   12345 2   56789 3 4 5 6   34986 としたいのです。  どなたかよい方法御座いましたら宜しくお願い致します。

  • excelで指定文字間の繰り返し抽出の方法

    excelの文字列でる特定の文字と文字(この場合、カンマ「,」)の間に存在する 文字だけを抽出する方法が分かりません。 シートAとシートBが存在します。 シートA セルA セルB 売上番号 商品名 0001 A,B,C,D,E 0002 A,B,E 0003 AAA 0004 ブランク=(NULL) 0005 xyz  : シートB セルA セルB 商品番号 商品名 0001 A 0002 B 0003 C 0004 AAA 0005 E 0006 BBB 0007 D  : そこで、シートAのセルBにある商品名が、シートBのセルBの商品名に 存在するかを検索し、すべて存在したらシートAの該当する行のセルC に、”〇”か”×”を設定したい。 関数での方法があればどなたか教えてください。 関数が無理でしたら、マクロ、vbaなどで教えてください。 よろしくお願いします。

専門家に質問してみよう