• 締切済み

エクセルのひと月の一覧表から誰が、いつ、どれだけの量を使用したか抽出したい

エクセルのひと月の一覧表から誰が、いつ、どれだけの量を使用したか抽出したい 月集計表(シート名) 氏名|番号| 1 | 2 | 3 | 4 | 5 | 6 | 7 | A氏| 1 | | | | |500| | | B氏| 2 | |150|213| | | | | C氏| 3 | | | | | | | | D氏| 4 | | | | |534| | | 今の上のような月の一覧に使用した量を入力しています。 番号の列の数字はその左のセルにある各顧客の管理番号、一番上の行にあるのが月の日付です。 これが6月の各顧客の一覧だとして 使用回数(シート名) 氏名|番号|_1回目_|_2回目_|_3回目_|→4,5,6回目と続く A___|1___|6/4|500|___|___|___|___| B___|2___|6/2|150|6/3|213|6/7|100| C___|3___|___|___|___|___|___|___| D___|4___|6/5|534|___|___|___|___| 管理番号の並びは変えずにこのような一覧を別シートに作りたいのです。 月の一覧に入力したら自動的にこちらにも入力されるような方法はあるでしょうか?あったら方法もお願いします。

みんなの回答

回答No.5

#4です。作業表案(範囲などは修正してください) ●作業表の作成(作成後は非表示) A9セル =COUNT(C3:I3) 下へオートフィル B9セル 0 フィルハンドルダブルクリック C9セル =B9+(C3<>"") 右へ下へオートフィル (わかりやすいようにA8:I8、J9:J12セルに説明として入れてありますが不要です) C16セル(年・月は適宜、セル参照してください) =IF($A9<C$15,"",("2009/6/"&INDEX($C$2:$I$2,MATCH(C$15-1,$B9:$H9)))*1) D16セル =IF(C16="","",INDEX($C3:$I3,DAY(C16))) C16:D16セル 右へ下へオートフィル (ちなみに、#4の回答でもD16セルの方法でよかったです) C14:J19セルを切り取って、別シートに貼り付け (配列数式は人数が多かったり、ブックが年単位になると重くなると思われます)

回答No.4

作業表を使ったほうが良さそうです 良い考えが浮かんでこないのでとりあえずの配列数式で。 C11セル =IF(COUNT($C3:$I3)<C$10,"", ("2009/6/"&INDEX($C$2:$I$2,SMALL(IF($C3:$I3<>"",$C$2:$I$2),C$10)))*1) [Ctrl]+[Shift] +[Enter] で確定、配列数式です({}で囲まれる) D11セル =IF(C11="","",INDEX($C3:$I3,SMALL(IF($C3:$I3<>"",$C$2:$I$2),C$10))) [Ctrl]+[Shift] +[Enter] で確定、配列数式です({}で囲まれる) C11:D11セル範囲を選んで右へ下へオートフィル 回目のところを数値にしています。 配列数式を使わない方が良さそうなので参考まで

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.3

No.2です! 何度もごめんなさい。 前回の回答で Sheet2のD2セルの数式を =IF(ISERROR(INDEX(Sheet1!$C$8:$L$8,,SMALL(Sheet1!$C11:$L11,(COLUMN()+1)/2-1))),"",IF(MOD(COLUMN(),2)=1,Sheet1!$B$1&"/"&INDEX(Sheet1!$C$8:$L$8,,SMALL(Sheet1!$C11:$L11,(COLUMN()+1)/2-1)),IF(MOD(COLUMN(),2)=0,INDEX(Sheet1!$C$3:$L$6,MATCH($A4,Sheet1!$A$3:$A$6,0),INDEX(Sheet1!$C$8:$L$8,,SMALL(Sheet1!$C11:$L11,COLUMN()/2-1))),""))) として、行・列方向へオートフィルでコピーしてみてください。 何とか希望に近い形にならないでしょうか? 尚、偶数列のセルの書式設定の表示形式は 標準でお願いします。 どうもたびたび失礼しました。m(__)m

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.2

こんばんは! 参考になるかどうか分かりませんが・・・ ↓の画像のように表を作ってみました。 Sheet1に作業用の表を作成しています。 Sheet1の作業用の表 C9セル =IF(INDEX($C$3:$L$6,MATCH($A9,$A$3:$A$6,0),MATCH(C$8,$C$2:$L$2,0))="","",COLUMN()-2) という数式を入れて、行・列方向にオートフィルでコピーします。 次にSheet2の C2セル =IF(COUNT(Sheet1!$C9:$L9)>=(COLUMN()+1)/2-1,Sheet1!$B$1&"/"&INDEX(Sheet1!$C$8:$L$8,,SMALL(Sheet1!$C9:$L9,(COLUMN()+1)/2-1)),"") として、C2セルの数式をE2・G2・I2・・・というように奇数列にコピーします。 同じように、Sheet2のD2セルに =IF(COUNT(Sheet1!$C9:$L9)>=COLUMN()/2-1,INDEX(Sheet1!$C$3:$L$6,MATCH($A2,Sheet1!$A$3:$A$6,0),DAY(C2)),"") という数式をいれて D2セルの数式を F2・H2・J2・・・というように偶数列にコピーします。 (オートフィルでコピーしてしまうと、すべてのセルがどちらかの数式になってしまうために、 このように列ごとにコピーしなくてはなりません。) そして↓の表でいえば C2セル~V2セルを範囲指定した後に オートフィルで下へコピーしています。 尚、Sheet2のデータ部分はセルの書式設定の表示形式は「標準」にしておいてください。 このような感じで良いのでしょうか? もし的外れなら読み流してくださいね。m(__)m

duo9999
質問者

お礼

回答ありがとうございます。そして返事が遅くなって申し訳ありません。 なんとかうまく出来ました。 これで作業がずいぶんと楽になります。 ありがとうございました!

  • mshr1962
  • ベストアンサー率39% (7418/18948)
回答No.1

月集計表(シート名)のC2:I5に数値が表示として A2 A氏の氏名を直接入力 B2=IF($A2="","",VLOOKUP($A2,使用回数!$A$2:$B$5,2,FALSE)) C2=IF($A2="","",VLOOKUP($A2,使用回数!$A$2:$P$5,C$1*2+2,FALSE)) C2をI5までコピー後、B2:I5を下方にコピー

duo9999
質問者

お礼

回答ありがとうございます。 B2=IF($A2="","",VLOOKUP($A2,使用回数!$A$2:$B$5,2,FALSE)) C2=IF($A2="","",VLOOKUP($A2,使用回数!$A$2:$P$5,C$1*2+2,FALSE)) この関数は月集計表のB2とC2に張るのですよね? これは使用回数のシートから月集計表シートに入力されるもののようですが、私の希望としては月集計表シートに入力したら使用回数シートにこのような形式で入力されるようにしたいのです。 どうかよろしくお願いします。

関連するQ&A

  • エクセルで複数シートを検索して抽出するには

    いつも参考にさせていただいています。 過去の質問を見てもわからなかったので回答をお願いします。 顧客管理台帳を作成していますが、他のファイルの複数のシートを検索してデータの抽出をしたいのです。 顧客管理台帳というファイルのシートに顧客一覧があります。 A番号 B顧客名 C住所 D対応状況 進捗表というファイルにランクA、B、Cのシートがあります。 A番号 B顧客名 C住所 D内容 E進捗状況 AAAA  ○○××  ・・・       保留 PPPP  ××△△  ・・・       終了 シートごとに顧客名の重複はありません。 顧客名はランダムに並んでいます。 顧客管理台帳の顧客名を進捗表の各シートから検索して 対応状況に進捗状況を反映させたいのです。 進捗表の一覧を作るとVLOOKUP関数でできると思うのですが シート毎の管理をし、日々更新しているので 現状のままでできる方法はないでしょうか。 よろしくお願いいたします。

  • エクセル:一覧から表へ転記するには

    初めて質問します。エクセルでこんな感じに入力した一覧表から自動的に別シートの表へ落とし込みをしたいと思いますがどうしたらできるのでしょうか? Sheet1:入力一覧表    A   :B     :C   :D 1:受注月 :営業ランク :物件名 :台数 2:2009/8 :確定    :○×▲ :100 3:2009/7 :AAA    :□◇  :250 4:2009/7 :確定    :◎□▲ :350 5:2009/7 :確定    :○◇× :200 6:2009/8 :AA     :◎×▲ :500 7:2010/1 :A     :×□○ :120 ~~~以後同じように続く。 Sheet2:山積一覧表 A  :B   :C   :D   :E :F   :G  :H~ 1:月  :確定 :確定 :AAA  :AAA :AA  :AA  :~B  2:月  :物件名:台数 :物件名:台数 :物件名:確定 :~   3:7月 :   :   :   : :   :   :~ 4:   :   :   :   :   : :   :~ 5:   :   :   :   :   :   :   :~ 7:8月 : :   :   :   : :   :~ 8 ~以下同じ様に空欄がいくつか作ってあります。 これを A  :B   :C   :D   :E :F   :G  :H~ 1:月  :確定 :確定 :AAA  :AAA :AA  :AA  :~B  2:月  :物件名:台数 :物件名:台数 :物件名:確定 :~   3:7月 :○◇×:200  :□◇ :250 :   :   :~ 4:   :◎□▲:350  :   :   : :   :~ 5:   :   :   :   :   :   :   :~ 7:8月 :○×▲:100  :   :   :◎×▲:500  :~ 8~ という形にしたいと思います。どのようにしたらいいでしょうか? 空欄は各月7行~8行空けています。 一覧表の月は会社の年度で2009/7月~2010/6月までとなっており ます。また1ページに上半期を入力しています。 もう1つ質問があります。例えばBとCでワンセットのセルが7行 作ってありますがそれ以上の受注物件が上がった場合DとFの行にも 実際は枠があります。BとCの空欄が埋め尽くされた場合、CとDの 空欄を埋めていくといったことができるのでしょうか? これ以上列は現実的に増えないです。 何卒回答をお願いします。

  • Excel 一覧表から特定の数値を別シートに抽出

    Excelで名簿を作っています。 その名簿(一覧表)には会員番号・部屋番号・氏名を入力しているのですが、 部屋番号毎に自動でシートを振り分けたいと思っています。 部屋番号は1階は101、102、103、2階は201、202、203と言う感じでつけています。 これを1階のシート、2階のシートの形で一覧表に入れたすべてのデータで作りたいです。 作り方をしたいです。 フィルタオプションの設定を使ってみたのですが、分かりませんでした。 どなたか教えてください。 よろしくお願いします。

  • エクセル2007 データ抽出(関数)について

    教えてください。エクセルシートにて郵便番号と住所が重複しているデータを抽出したいのです。 例)ある顧客の情報として、シート1のA列に、1から10までの新規顧客の氏名、B列には生年月日が入力されています。C列,D列は空白で、E列には全ての顧客(新規顧客を含みます)の氏名、F列には生年月日、G列には郵便番号、H列には住所が入力されています。このふたつの情報の中から、新規顧客データと全ての顧客データの氏名、生年月日が重複している顧客のみ、C列にその郵便番号、D列に住所を表示させたいのです。 OSはXP エクセル2007です。 困っています。よろしくお願いします。

  • ◆◆急募◆◆ エクセル 重複するデータの抽出について

    データの入力された2枚のA、Bシートが同じブックにあります。 <Aシート> D2~D500まで顧客番号が入力されています。 <Bシート> C2~C600まで顧客番号が入力されています。 AシートとBシートの顧客番号はいくつか重複しています。 その重複している番号をBシートのどこかのセルに”重複”と表示したいのですが、その方法が分かりません。最終的にオートフィルタで重複と重複していないものを分けたいのです。 大至急教えてください!宜しくお願いします。

  • エクセルでの表作成について

    エクセルを使って勤怠一覧を管理しています。 シート1のA1には所属部門名・B1には氏名、そしてC3には残業時間が入力されています。 この一覧をシート2のA2からC2には総務部・残業時間・氏名を表示。 そして、1行空けてE1からG1には営業部・残業時間・氏名を表示するように表を作成したいのですが、エクセルの機能を使って簡単にシート2にこれらの表を作成する事は可能でしょうか。 ご存じの方、いらっしゃればご教授願います。

  • エクセル 別シートから一覧を抽出したい

    部品一覧表を作成しているのですが、2シートあり 1入力シート・2部品コードシートとあります。 部品コードシートにはB列に部品番号・C列部品名・D列部品番号・E列部品名と2行ずつ使い番号・品名がB~Wまで47行分入力されています。 B1:C47、D1:E47…と2列47行にはそれぞれ【A】、【B】、…とセルの名前の定義をつけました。現在【H】までありますが、今後増える可能性があります。 入力シートに、セルの名前を指定したときに部品コードのシートから 一覧を抽出したいのですが、どの関数を使えばよいのかわかりません。 入力シート                 |部品コードシート G   H                  | A Bコード C部品名  Dコード E部品名 4式入力用にあけています。     |1 1800  ユニットA   1501 電源A 5コード 部品名             |2 1801  ユニットB   1502 電源B 6                       |3 G4に関数を入れてG6~G52まで部品コードのシートA1~A47を一気に表示 させたいのです。部品コードシートの行数が変わることはありません。 マクロを使わないと、関数では難しいでしょうか?

  • 一覧から表へ転記するには 2

    先ほど画像を載せたところ1つしか載せれないことがわかり、削除して入れ直そうとしましたが画像を載せることができませんので、同じ内容を掲示して申し訳ありません。画像を付け直して出させてください。エクセルでこんな感じに入力した一覧表から自動的に別シートの表へ落とし込みをしたいと思いますがどうしたらできるのでしょうか? Sheet1:入力一覧表    A   :B     :C   :D 1:受注月 :営業ランク :物件名 :台数 2:2009/8 :確定    :○×▲ :100 3:2009/7 :AAA    :□◇  :250 4:2009/7 :確定    :◎□▲ :350 5:2009/7 :確定    :○◇× :200 6:2009/8 :AA     :◎×▲ :500 7:2010/1 :A     :×□○ :120 ~~~以後同じように続く。 Sheet2:山積一覧表 A  :B   :C   :D   :E :F   :G  :H~ 1:月  :確定 :確定 :AAA  :AAA :AA  :AA  :~B  2:月  :物件名:台数 :物件名:台数 :物件名:確定 :~   3:7月 :   :   :   : :   :   :~ 4:   :   :   :   :   : :   :~ 5:   :   :   :   :   :   :   :~ 7:8月 :    :   :   :   : :   :~ 8 ~以下同じ様に空欄がいくつか作ってあります。 これを A  :B   :C   :D   :E :F   :G   :H~ 1:月  :確定 :確定 :AAA  :AAA :AA  :AA  :~B  2:月  :物件名:台数 :物件名:台数 :物件名:確定 :~   3:7月 :○◇×:200  :□◇ :250 :   :   :~ 4:   :◎□▲:350  :   :   : :   :~ 5:   :   :   :   :   :   :   :~ 7:8月 :○×▲:100  :   :   :◎×▲:500  :~ 8~ という形にしたいと思います。どのようにしたらいいでしょうか? 空欄は各月7行~8行空けています。 一覧表の月は会社の年度で2009/7月~2010/6月までとなっており ます。また1ページに上半期を入力しています。 もう1つ質問があります。例えばBとCでワンセットのセルが7行 作ってありますがそれ以上の受注物件が上がった場合DとFの行にも 実際は枠があります。BとCの空欄が埋め尽くされた場合、CとDの 空欄を埋めていくといったことができるのでしょうか? これ以上列は現実的に増えないです。 何卒回答をお願いします。

  • エクセルの単票を一覧表に

    エクセルで作った単票(何ファイルにもわたってある)を一つのファイルに一覧表にする簡単な方法を教えてください。 具体的には、単票には、 B2=日付 B3=注文番号 B4=得意先名 B12=商品名 B13=商品1 C12=数量 C13=商品1の数量 と入力されています。 これをデスクトップ上にある「在庫一覧」というファイルに一覧表に移したいのですが。何度も入力しなくていいようなマクロがあったら教えてください。よろしくお願いします。

  • 一覧表から抽出?

    皆さんいつもアドバイスありがとうございます。 また今回も宜しくお願い致します。 エクセルの2003を使用しています。 図のような一覧表があり、その中にお客様から指定された時間を入力しています。 この一覧表をソート?し、左側のB列に指定時間の早い順に、A列にはそれに対応する部屋番号を抽出表示させたいのです。 このような事は可能でしょうか?

専門家に質問してみよう