• 締切済み

該当範囲のセルのデータを取得する

EXCEL2010を使用しています。 【やりたい事】 シート2のドロップダウンリストで月を変更した時に、 シート1の該当する月の平日のデータを取得する 【状況】 波線の(左)シート1、(右)シート2です。 (シート1)   A~B列 : 祝日一覧          (A3~A19に祝日と名前をつけました)  D列 : 平日一覧       D3セル : 開始日           D4セル : =WORKDAY( D3, 1, 祝日 )        ・        ・       D4セルをCOPYして年末まであります。 (シート2)  A1セル : ドロップダウンリスト 1~12月まで選びます。  A2セル以下 : シート1の該当月の平日データを取得 平日を一覧にする所まではできましたが、シート2の 「月」の下のセルに、シート1の該当月のデータを 反映させるやり方がわかりませんでした。 どなたかお分かりになる方の知恵をお借りしたいです。 どうぞ宜しくお願い致します。

みんなの回答

  • tsubuyuki
  • ベストアンサー率45% (699/1545)
回答No.3

それでは私も「別なちょっとややこしい方法」を。 シート1のE3セル:=IF(MONTH(D3)=シート2!$A$1,ROW(),"")  以下、年末までコピー。 シート2のA2セル:=IF(COUNT(シート1!E:E)<ROW(A1),"",INDEX(シート1!D:D,SMALL(シート1!E:E,ROW(A1)))) 以下、32行目までコピー。 一例として参考まで。

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

シート2のA2セルに次の式を入力して下方にドラッグコピーします。 =IF(ROW(A1)>(COUNTIF(Sheet1!D:D,">="&DATE(Sheet1!D$1,A$1,1))-COUNTIF(Sheet1!D:D,">"&DATE(Sheet1!D$1,A$1+1,0))),"",INDEX(Sheet1!D:D,MATCH(DATE(Sheet1!D$1,A$1,1)-0.1,Sheet1!D:D,1)+1+ROW(A1)-1))

全文を見る
すると、全ての回答が全文表示されます。
  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.1

とりあえず: シート2のA2に =IF(MONTH(WORKDAY(DATE(2013,$A$1,0),ROW(A1),祝日))=$A$1,WORKDAY(DATE(2013,$A$1,0),ROW(A1),祝日),"") と記入、以下コピー #「年」の取得方法は別途検討する事 別の簡単な方法: シート1のC3に =IF(MONTH(D3)=Sheet2!$A$1,COUNT($C$1:C2)+1,"") と記入、以下コピー シート2のA2に =IF(ROW(A1)>COUNT(Sheet1!C:C),"",VLOOKUP(ROW(A1),Sheet1!A:B,2)) と記入、以下コピー。

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

関連するQ&A

  • (Excel)範囲中のデータのうち条件に該当するデータのセルの行番号・列番号を取得したいのですが

    例えば、B2からF5の範囲にデータが入力されていて、このうち条件に該当するデータ(最大値)のセルの行番号・列番号を取得したいのですが何か良い方法はありますでしょうか。 最大値のセルをアクティブにする方法が分かれば問題は解決するのですが、調べてみても答えが見つかりませんでした。 また、他に良い方法があればぜひともよろしくお願いします。 回答はVBAでもワークシート関数でも、どちらでも結構です。 ExcelはExcel2000、OSはWindows2000を使用しています。

  • Excelのセル参照について

    範囲(例:2010/1/1~2010/2/1)を指定して更新すると、日にちと値を外部データから取得し、 ExcelのSheet2のA列に日にち、B列に値を表示しています。 データは月単位で拾ってきて、Sheet2に表示しています。 たとえば、2010/1/1~2010/2/1とすると、1月のデータを取得してきて、 2010/2/1~2010/3/1とすると、2/1~今日までのデータを取得してきます。 そのSheet2に表示しているB列のデータをSheet1のセルD列にセル参照しているのですが、 たとえば、2010/1/1~2010/2/1までのデータは、Sheet1のセルD1に「=Sheet2!B1」と記入して、以下オートフィルでうまくいくのですが、 2010/2/1~2010/3/1までとすると、2/1から今日までのデータはうまく表示され、 今日以降のデータはSheet2が空白なので、Sheet1で「=Sheet2!#REF!」となってしまい、以降、Sheet2にデータが取得されてもうまくセル参照されません。 Sheet1のD列の式を下記にしても、現象はかわりませんでした。 =If(Sheet2!B1="","",Sheet2!B1) =IF(ISBLANK(Sheet2!B1),"",Sheet2!B1) Sheet2で今日以降のデータが空白でも、Sheet1が「#REF」とならないように、 また、今日以降のデータは取得された際、うまく表示されるようにするのは、 どうしたらよいのでしょうか。

  • 一つのセルの文字列を分解して別のシートへ

    いつもお世話になっております。 一つのセルの文字列を分解して別のシートの指定したセルに一文字ずつ入力したいと考えています。 (例)   A B C  D E       F ・・・・・・・・・・・    AD 1 2014/5/1 ・・・・   2014/5/6・・・・・・・・・・・2014/5/31 2 3               こ 4 5               ど 6 7               も 8                                 9               の 別シートには、祝日の一覧が作成してあり、一つのセル"こどもの日"のように入力してあります。 F1のセルが2014/5/6なので、別シートの祝日データからデータをとばして、F3のセルに"こ"、一つ飛ばしてF5のセルに"ど"、F6のセルに"も"のように自動で入力したいのですが(他の祝日も同じく)、そういったことはマクロで可能でしょうか? よろしくお願いいたします。

  • 別シートのデータを指定したセルに読み込みたい

    Excell for Mac 2011 を使用しています。 画像のイメージのように、シート1のデータをシート2の指定したセルに読み込みたいのですが可能でしょうか? また、シート1のデータは商品が増える度にセルの位置が変わります。 (Aの次にA-1という品番が追加される、そうするとB以降のセルの位置がずれるという感じです) なので【シート1の「D2」をシート2の「D12」に読み込む】のではなく 【シート1のA列が「A」(品番)且つ       B列が「M」(サイズ)且つ       C列が「BLUE」(カラー)の       D列 (在庫数量)を  シート2の「D12」に読み込む】 という細かい指定をしたいのですが、可能でしょうか・・・? ご教示宜しくお願い致します。

  • 該当するデータのみを右上のセルへ張付るには

    いつもお世話になっております。 また先に進めずに5日間悪戦苦闘しております。 とあるデータをExcelにエクスポートをすると、A列に全てデータが入っている状態のものが出来上がります。 一覧表として見やすい形にもって行きたく、タイトルやデータの作成日、項目等は各セルへ移動させました。 4行目・6行目に表示されているものが、3行目の項目で言うところの「番号」に該当し、5行目・7行目に表示されているものが、空欄を区切りとして左から「都道府県コード」・「市町村コード」・「番地」に該当します。 4行目と5行目がひとセットのデータ、6行目・7行目がひとセットのデータになります。(このセットデータが100件以上下に連なっています) ずれている奇数行のデータをまずB列へ移動し、そこからC・D行へ移したいと考えたのですが、どうしてもコードがうまく走ってくれませんでした。 以下が表です。      A       B       C    D   1 タイトル 2 データの作成日 3   番号    都道府県コード 市町村コード 番地  4 【100001】 5 00001 0003 ●●●530-8-7 6 【103205】 7 03479 7094 △○■1-2-3 こちらが作成したコードです。 Worksheets("Sheet1").select Range("A5").Select Selection.AutoFilter Field:=1,Criterial:="0*",Operator:=xlAnd Selection.SpecialCells(xlCellType Visible).Select Application.CutCopyMode = False Selection.Copy Selection.AutoFilter Selection.Offset(-1,1).Select ActiveSheets.Paste End Sub 仕様はExcel2002になります。 都道府県コードは必ず0から始まるので、0から始まるデータを右上のセルへ移動するという指示をだしているつもりです。 以上、宜しくお願い致します。

  • エクセルで一番下のセルとその隣のセルを取得したい

    おはようございます お世話になります 画像のように G1、H1にC列最新のセルとその右隣のDセル、 この場合はC3とD3を取得したいと思ってます 色々調べてみて C列は=INDEX(C:C,COUNTA(C:C))で取得出来たのですが D列がうまくいきません・・・ どうやればC列最新の右隣を取得出来るのでしょうか?

  • Excel 該当セルが複数ある場合にまとめて取得

    お世話になります。 Excelでvlookupなどて検索した時に、複数の該当セルがあった場合、 一列の文字列にして取得できるワークシート関数はないでしょうか。 例えば、 A| B 1 | AAA 2 | BBB 1 | CCC 4 | DDD 1 | EEE などで、「1」の条件に引っかかったものを取得する場合、 「AAA,CCC,EEE」などのような結果が得られるワークシート関数です。 VBAで力技で行う方法はできるのですが、できる限りスマートな方法で 行いたいので、ワークシート関数で探しています。 以上、ご指導、何卒よろしくお願いいたします。

  • エクセルでHLOOKUP関数の選択範囲について

    エクセルでHLOOKUP関数を使って、検索したいのですが、 シートは、一覧表のシートと データが入っているA101、B203、C305、...シートは300シートくらいあります。 一覧表のシートには、下のような表になっていて、      A列  B列  C列  D列 ...          1003、1004、1005、1006、... 2行目 A101  3行目 B203 4行目 C305       .       .       . データのはいっているシート、A101は下の表になっています。      B列 C列 D列、・・・、Z列 2行目 1004、1005、1006、... 3行目 100、 200、 150、... 一覧表のB列の2行目には HLOOKUP(B2、シートA2のB2:Z3、2行目、FALSE) という感じで、シート名をセルA2のものを参照にして 探して表示させ、B列、C列、D列の2行目から下の行も 表示させたいのですが、うめくできませんでした。 INDIRECT関数を使ってみましたが、セル範囲が無効という エラーがでてしまいます。↓こんな感じで入力してみたのですが... SUMPRODUCT((INDIRECT($A2&"!$B$2:$Z$3"))=$B$1,(INDIRECT($A2&"!$B$2:$Z$3"))) 1つづつデータを見て手打ちはデータが多く、 どんどんデータが増えていくので できれば関数を使って表示させたいと思っています。 詳しい方いらっしゃいましたら、どうか教えてください よろしくお願いします。

  • エクセル関数で質問です(該当セルを抽出したい)

    いつもお世話になっています。 エクセル2000で質問です。 (質問文を修正して再度質問させていただきました。すみません^^;) 下記のようなデータがあったと仮定します。 (タイトル行は省きました) Aの列にはCOUNTIFで、各行のC~に「平日」を含むセルの数が入ってます。 下記データの場合、C~Eのセルのデータに「平日」が含まれる場合、 (A列に1以上の数字がはいった場合) B列に、そのセルのデータが欲しいのです。 1行目の場合、C~Eに「平日」を含んだデータがあるので、 B1にはそのデータ、平日【金】が入ります。 2行目からも同様に、データが表示されるようにしたいのですが・・・。 B2には平日【水】の値が欲しいです。 複数ある場合は先のデータで構いません。  A     B        C        D      E 1 1  平日【金】   平日【金】   休日【日】 2 1                  平日【水】 3 2          平日【月】   平日【水】 4 上記のような結果が出る関数、または方法を教えていただけると助かります。 フィルタで抽出・・・とも考えたのですが、データが縦にも横にも膨大なため なるべく時間がかからないで出来る方法を教えていただきたいのです。 どうかよろしくお願いいたします。

  • 一定のセル範囲で複数の条件に該当しないセルの有無を簡単に取得する方法

    A1:A20の範囲で、空白ではなく、A~Eや1~5のどれにも該当しないセルの有無を取得する場合、以下のような長ったらしい関数以外でもっと簡単な方法はないでしょうか? なお、設定の検索値のA~Dや1~5は例であり、実際は別の規則性のない文字列および数値です。 宜しくお願いいたします。 =SUMPRODUCT((A1:A50<>"")*(A1:A50<>1)*(A1:A50<>2)*(A1:A50<>3)*(A1:A50<>4)*(A1:A50<>5)*(A1:A50<>"A")*(A1:A50<>"B")*(A1:A50<>"C")*(A1:A50<>"D")*(A1:A50<>"E"))=0

このQ&Aのポイント
  • TS8130のコピーがグレーになるトラブルについて解説します。
  • モノクロコピーが全体にグレーになり読めない場合、カラーコピーにするとグレーぽくなるが少しましになることがあります。
  • 品質を改善するためには、インククリーニングやパソコンからの印刷などの方法があります。また、ライトが点灯しスライドしているか確認することも重要です。修理方法については、キヤノンに問い合わせるのが良いでしょう。
回答を見る

専門家に質問してみよう