• ベストアンサー

エクセル 日程表

作業時間を別フォームに転記するため、日にち指定で項目&時間を抜き出す方法がありましたら教えて下さい。 項目1...項目2...1.....2.....3..←日にち AAA.....QQQ......8..........←時間 BBB.....WWW.............6 CCC.....EEE..............2 上記のフォームを読み込み、 "別シート"に日にちを指定すると項目と時間が表示される。 例えば「2」日と指定すると BBB.....WWW...........6 CCC.....EEE.............2

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

  • ベストアンサー
回答No.2

こんにちは。 参照元の表が Sheet1 にあり、 表の範囲は A1:L10 だとします。 (項目数:9、日にち:10日まで) 別シートを Sheet2 として B2 に 日にちを入力するものとします。 以下、作業列を使用する方法です。 * * * Sheet1 の M2セルに↓の式を入れてください。 ----------------------------------------------------- =IF(INDEX($C$2:$L$10,ROW(A1),Sheet2!$B$2)=0,"",ROW()) ----------------------------------------------------- 以下、M10 まで数式をコピーしてください。 Sheet2 の B3セルに↓の式を入れてください。 ----------------------------------------------------- =IF(COUNT(Sheet1!$M$2:$M$10)<ROW(A1),"",INDEX(Sheet1!$A$2:$L$10,SMALL(Sheet1!$M$2:$M$10,ROW(A1))-1,COLUMN(A1))) ----------------------------------------------------- Sheet2 の C3セルに↓の式を入れてください。 ----------------------------------------------------- =IF(B3="","",INDEX(Sheet1!$B$2:$B$10,MATCH(B3,Sheet1!$A$2:$A$10,0))) ----------------------------------------------------- Sheet2 の D3セルに↓の式を入れてください。 ----------------------------------------------------- =IF(B3="","",INDEX(Sheet1!$C$2:$L$10,MATCH(B3,Sheet1!$A$2:$A$10,0),$B$2)) ----------------------------------------------------- B3:D3 を選択して、11行目までオートフィルでコピーしてください。 (項目数が 9個とすれば) B2 に日にち(2 とか 3とか)を入力すれば、該当項目が表示されると思います。 Sheet1 の作業列(M列)が目障りなら、非表示にしてください。 範囲、セル位置は実際の表に合わせて適宜変更してください。

beakichi
質問者

お礼

ありがとうございます。 イメージとおりに抽出することが出来ました。

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

その他の回答 (3)

  • tresbien
  • ベストアンサー率51% (51/99)
回答No.4

#1です ごめんなさい、訂正してください B3は  =VLOOKUP(A3,Sheet1!$A$1:$B$4,2,0)    または  =VLOOKUP(A3,Sheet1!$A$1:$B$4,2,FALSE) でした。 C列のも整数だけなら同様に付け足しても良いですよ、昇順に並んでいるからどっちでも良いです。

beakichi
質問者

お礼

昇順というのも条件ですね ありがとうございました。

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

Sheet1に下記のようなデータがあるとします。   A    B   C  D   E   F    G   H   I 1 項目1 項目2 1   2   3   4   5   6   7 2 AAA   QQQ  8 3 BBB   WWW      6 4 CCC   EEE      2 Sheet2のA1セルに日付を入力し、A3以下に項目1、B3以下に項目3、C3以下に時間を表示するものとします。 Sheet2のA3セルに =IF(C3="","",Sheet1!A2) B3セルに =IF(C3="","",Sheet1!B2) C3セルに =IF(INDEX(Sheet2!$C$1:$AG$10,ROW()-1,$A$1)=0,"",INDEX(Sheet2!$C$1:$AG$10,ROW()-1,$A$1)) を入力して、行番号4以下に項目の数だけコピーして下さい。 C3セルの式がややこしいですが、IF関数は、時間がないところ(0と表示される)は""として何も表示しないようにするために使っています。 index関数が本来の機能で、日付の欄を探すのに、 時間が入っている範囲を指定し、 行はROW()-1(sheet2のA、B列はSheet1より1段下から始まる)で、 列は日付そのものが列番号に使えますので、そうしています。 もし、項目数が10行以上の場合は、C3セルの式の $AG$10 の10を20とか30とかに変えて下さい。 時間がない項目の行は空行になってしまいますが、それをつめていこうとすると、さらに式が複雑になってしまいます。 そこまで行くとマクロを使った方がすっきりするかも。

beakichi
質問者

お礼

空行は発生はマクロということですね ありがとうございました。

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

   A _____ B _____ C _____D _____E・・・ 1  項目1...項目2...1.....2.....3..←日にち 2  AAA.....QQQ......8..........←時間 3  BBB.....WWW.............6 4  CCC.....EEE..............2 がSheet1 にあって Sheet2には A1に2を入力することにした場合  A _______ B ______ C _______ 1 ________ 2  3  BBB.....WWW....... 4  CCC.....EEE....... B3 =VLOOKUP(A3,Sheet1!$A$1:$B$4,2) B4にコピー C3 =HLOOKUP(A1,Sheet1!$C$1:$AG$4,3)  C4 =HLOOKUP(A1,Sheet1!$C$1:$AG$4,4)

beakichi
質問者

お礼

ありがとうございます。 Sheet2のC列はうまくいくのですが、B列が#N/Aになりました。式はコピーして実行したのですがうまく表示できませんでした。よろしくご教示願います。

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

関連するQ&A

  • 別シートの値を検索して一致したものを合計する

    excelvba初心者です。 お手数おかけします。 難問なのかどうかもよく分からず。。困っています。 シート1       シート2   シート3 AAA 100     AAA 50      BBB 20 BBB 200   CCC 150   CCC 30 DDD 300   QQQ 250   DDD 10 EEE 400     WWW 350  RRR 40 上記の値を決められた順番に別シートに集計したい(その時に、値を1/10にしたい) シート4 AAA 150 BBB 220 CCC 180 DDD 310 EEE 400 FFF 0 GGG 0 www 350 findでAAAを検索し見つかった値を ifにて条件分岐させるものをつくったものの プロシャーシーが大きすぎと言われてできません。 どなたか教えていただけないでしょうか。

  • 作業時間表

    時間の単位が0.5時間単位で管理になりましたが、フォームが沢山あるため、転記できるような方法を教えて下さい。 項目......時間............項目......時間 -----------...... ----------------- AAA.........1 ........→..AAA........0.5 BBB............................AAA........0.5 CCC........0.5............CCC........0.5 なお、項目は一日分ですので、項目数は増えます。 質問内容がずれて表示されるので「...」は、ブランクの意味です。

  • EXCEL97のマクロ処理について

    EXCEL97のマクロ処理について教えてください。 下記のシート例のようなシート(アクセスのクロス集計のようなもの)を最初に複数範囲指定(アクティブ)します。その後にその範囲指定したなかで項目が1~5まで全て同じモノだけを統一して、種類で存在するものも統一させます。一つ目のものに種類1がなくても同一のものに種類1があれば統一後のデータは種類1の列に"1"がつくようにします。ちなみに種類はその時によりどれだけ存在するかわからないのが前提です。削除するデータは回路Noが大きいものを消すようにします。下がそのデータの例です。 =============== エクセルシート例 =================================== 回路No  項目1 項目2 項目3 項目4 項目5 種類1 種類2 種類3 ... 1      AAA  BBB  CCC   DDD  EEE   1        1 1      FFF  DDD  UUU   DDD  OOO       1    1 1      UUU  PPP  TTT   DDD  EEE   1   1 2      AAA  BBB  CCC   DDD  EEE       1    1 2      XXX  QQQ  SSS   NNN  MMM   1   1                ↓ マクロ処理後 回路No  項目1 項目2 項目3 項目4 項目5 種類1 種類2 種類3 ... 1      AAA  BBB  CCC   DDD  EEE   1   1    1 1      FFF  DDD  UUU   DDD  OOO       1    1 1      UUU  PPP  TTT   DDD  EEE   1   1 2      XXX  QQQ  SSS   NNN  MMM   1   1 ================================================================== シート選択後ボタンによりマクロ処理されるように考えています。どうか宜しくお願い致します。

  • Excelシートの統合するマクロなどがありましたらお教えください。

    各支店(約200)からExcelシートで送信されてくる報告内容を別のシートに一気にまとめるマクロ等はないでしょうか?ご存知の方よろしくお願いします。 (例) A支店  項目  aaa    bbb    ccc    ddd    eee        10    20     30    0     0         8    8      0     0      0               以下約300件 B支店  項目  aaa    bbb    ccc    ddd    eee        11    22     33    0     0         9    9      0     0      0               以下約300件      別シートに 項目  aaa    bbb    ccc    ddd    eee        10    20     30    0     0         8    8      0     0      0        11    22     33    0     0         9    9      0     0      0                   以下省略           よろしくお願いします       

  • エクセルで列にあるユニークなデータの個数が知りたい

    おはようございます。 エクセルでA列に以下のようなデータがあるとします。 この中で何種類のデータがあるのかを知りたいのです。 この場合は、AAA,BBB,CCC,DDD,EEEの5種類なので5という答えが欲しいのです。 ただし、A列に入るデータは非常に多岐(800種類以上)に渡ります。 また、印刷を前提としてるためソートなどはできません。 さらに1枚のシートにこのようなデータがいくつかあるので、その決まった範囲内で個数を抽出する必要があります。 なにとぞ皆様のお知恵をお貸しくださいませ。 よろしくお願いします。 AAA AAA BBB CCC AAA DDD DDD BBB DDD DDD EEE EEE

  • 抽出して並べ替えたい

    初めまして 非常に悩んでいます。 エクセルシートの列に下記のようにデータが並んでいます。(文字列) AAA bbb ccc (空白) BBB ddd eee (空白) AAA bbb ccc (空白) AAA eee ggg 並べ替え後 AAA AAA BBB bbb eee ddd ccc ggg eee 尚、列上でセル位置は任意で、空白行も任意です。(1つ以上です) できれば関数でお願いします。 VBAの場合、使用したことがないので詳しくお願いします。

  • エクセルについて教えてください

    異なる2つシートのデータを別のシートにまとめるにはどうすればよいのでしょうか。 2つのシートそれぞれには約1000件のデータがあります。 シート1 シート2  シート3 1 AAA | 1 QQQ |1 AAAQQQ 3 BBB | 2 XXX |2 XXX 5 CCC | 5 ZZZ |3 BBB 7 DDD | 6 YYY |5 CCCZZZ           |6 YYY           |7 DDD

  • 【少し急いでます】エクセルについて教えてください!

    Excel2000を使っています。 A列に重複するデータがあり、B列に別データがあります(20000行強) 例)     A  B 1  001 aaa 2   001 bbb 3   001 ccc 4   002 aa 5  002 bb 6  003 aaa 7  003 bbb 8  004 ddd 9   004 eee 10  005 aa 11  006 bbb A列で重複する001は3行あり、重複しているデータは1行にまとめてB列のaaa、bbb、cccをつなげたいです。(わかりづらくてすみません) 例)     A      B 1  001  aaa・bbb・ccc 2  002   aa・bb 3  003  aaa・bbb というようにまとめたいです。 どのような方法がありますでしょうか? よろしくお願い致します。

  • エクセルで出来るか教えてください!

    例えばシート1とシート2に下の文字があるとします。 シート1↓ 日付  1月 1日   CCC 2日 3日   AAA 4日   BBB 非番   EEE シート2↓      1月   2月   3月 AAA   3日   3日   4日 BBB   4日   1日   1日 CCC   1日   4日   3日 DDD   休    2日   3日 EEE   非番 FFF            非番 シート2には勤務体制の表を記入。シート1には今月の勤務体制をシート2のデータから表示さたいです。 例えばシート1にある1月を「2月」と記入すると、英語で書かれた名前を自動的に変化させたいのですが、これをエクセルで作れますか? どなたか分かる方教えてください。お願いします。

  • EXCELで複数行の検索

    初心者です。 Aファイルのaaa、bbbなどをキーに Bファイルを検索してできるだけ簡単にマクロ等使わずに 下記のような抽出をする方法があれば教えてください。 よろしくお願いします。 Aファイル aaa bbb ccc Bファイル(例えば「ddd」と「あ」は別セルです) ddd あ eee い aaa う fff え bbb お ggg か ccc き 結果 Aファイル aaa う bbb お ccc き

3000円分の食事券を3,100円で販売
このQ&Aのポイント
  • 某フリマサイトで、大戸屋なるというレストランチェーンの500円券6枚を売り出し、指値が3,100円となっている。
  • 売れている理由は不明だが、100円の損をするだけなので需要はなさそう。
  • 食事券は有効期限があり、紙切れになってしまう可能性もあるため、普通に野口英世で支払う方がよい。
回答を見る

専門家に質問してみよう