発注品一覧表から社別にデータを抽出した発注シートを関数で作りたいです。
オートフィルタは諸事情あって使用しません。

過去の質問のこちらが、かなり近い回答なのだと思いますが
不勉強で自分用に修正ができませんでした。
http://oshiete.goo.ne.jp/qa/3157199.html

一覧表はこのようになっています。
日付 社名 品目 値段
4/1  C社 鉛筆 50円 
4/1  A社 定規 150円
4/2  C社 ペン 100円
4/2  B社 鉛筆 100円

社別の別シートに日付・品目・値段を一覧から関数で抽出できるでしょうか?
どうぞよろしくお願いします。

このQ&Aに関連する最新のQ&A

A 回答 (5件)

拝見いたしましたが参考にされたサイトですが


データが社名順に並んでいますよね。
今回の質問ですが、データが順に並んでいませんので全く違った発想が必要になります。
簡単な方法では、作業列を一列入れる方法がわかりやすいです。
データのシートに作業列も作れないのであれば 配列関数を使うことになりますが
データの量が多くてその式を縦横にコピーして使うですからパソコンの負担も重くなります。

式の意味を理解が難しいかと思いますが
INDEX関数で 範囲の指定の部分を条件で抽出した内容が入るように工夫した式がよく見受けられます
ので一応紹介しておきます
仮に シート名 データ
日付 社名 品目 値段
4/1  C社 鉛筆 50円 
4/1  A社 定規 150円
4/2  C社 ペン 100円
4/2  B社 鉛筆 100円

別のシート
   社名 品目
   C社

日付 社名 品目 値段

とB2セルに抽出したい社名が入っているとして
A4セルに
=INDEX(データ!A:A,SMALL(INDEX((データ!$B$1:$B$100<>$B$2)*1000+ROW(A$1:A$100),),ROW(A1)))&""
と入れて 右へコピー、下へコピーしてみてください。
INDEX((データ!$B$1:$B$100<>$B$2)*1000+ROW(A$1:A$100),)
の部分が理解しにくいと思います。
社名の範囲でC社でなかったら1000倍したとてつもない大きな数字を加える
C社でればそのまま、その行番号 といった架空の列を作成します。
その架空の列の小さい数値の順に 最初のINDEX関数で取り出します
といった感じです。(なかなか文書で説明するのも難しくてすみません)

別案ですが
フィルターオプションの設定(オートフィルターではありません)
をしたほうがシンプルでデータ量が増えた時も勝手に対応してくれます。
    • good
    • 0
この回答へのお礼

丁寧な説明と回答ありがとうございます。
参考サイトの質問と今回の質問との相違は社順など関係していたんですね…。
目的のための関数の組み合わせがわからなくて式の意味がまだ理解できていないんです…。
まったくわからなかった式も、今回説明いただいた内容でなんとなくですが理解できました!

また、「フィルターオプションの設定」も良いですね!(いつもオートフィルタしか使わなかったので知りませんでした…)
一緒にデータを使う知り合いもあまりエクセルに詳しくないので、相談してどちらが使いやすいか相談の上進めていくことにします。
本当にありがとうございました。

お礼日時:2011/04/17 20:33

ご回答者様には失礼とは思いますが関数はマニアックなもので、非常に難解です。


前回のご回答で解釈できない事ですので次の方法は如何でしょうか。
(1)発注シートのA1に社名と入力、A2に社名を入力
(2)データ→フィルタ→フィルタオプションの設定
(3)「指定した範囲」を選択、リスト範囲欄うぃお右クリック→対象シートクリック→対象列範囲を選択、検索条件範囲欄をクリック→A1:A2を選択→抽出範囲欄を選択、表示開始セルを選択→OK
(4)操作を簡略したい場合、マクロ記録→(2)(3)操作→マクロ記録終了すればショートカット等のワンタッチ操作で可能です。

参考URL:http://www.eurus.dti.ne.jp/~yoneyama/Excel/filte …
    • good
    • 0
この回答へのお礼

丁寧なご回答ありがとうございます。
いえいえ、本当に仰るとおり、関数は簡単なものが使えるからといって目的どおりに使うには理解と発想が大きく必要になるんだと今回つくづく感じました。
ほかのご回答にもありましたが、今回ご回答いただいた「フィルタオプションの設定」はとてもいい方法ですね!
マクロの記録の仕方までありがとうございます。マクロを使うとより作業が楽になりますね!!
一緒にデータを使う相手も初心者なので、関数にこだわらずフィルタオプションの設定を勧めてみようと思います。
本当にありがとうございました。

お礼日時:2011/04/17 20:50

 今仮に、元データの表の中で、「日付」と入力されているセルが、Sheet1のA1セルであり、


別シートのB2セルに、社名を入力するものとします。

 まず、別シートの
A1セルに  社名
A3セルに  日付
B3セルに  品目
C3セルに  値段
と入力して下さい。
 次に、別シートのA4セルに次の数式を入力して下さい。

=IF(OR(COUNTIF(Sheet1!$1:$1,A$3)=0,ROWS($4:4)>COUNTIF(Sheet1!$B:$B,$B$2)),"",INDEX(OFFSET(Sheet1!$A:$A,,MATCH(A$3,Sheet1!$1:$1,0)-1),SUMPRODUCT(ROW(Sheet1!$B$1:INDEX(Sheet1!$B:$B,MATCH(9^9,Sheet1!$A:$A)))*(Sheet1!$B$1:INDEX(Sheet1!$B:$B,MATCH(9^9,Sheet1!$A:$A))=$B$2)*(COUNTIF(Sheet1!$B$1:INDEX(Sheet1!$B:$B,ROW(Sheet1!$B$1:INDEX(Sheet1!$B:$B,MATCH(9^9,Sheet1!$A:$A)))),$B$2)=ROWS($4:4)))))

 次に、別シートのA4セルをコピーして、別シートのB4セルとC4セルに貼り付けて下さい。
 次に、別シートのA4セルの書式設定を[日付]として下さい。
 次に、別シートのA4~C4の範囲をコピーして、同じ列の5行目以下に貼り付けて下さい。

 後は、別シートのB2セルに

C社

等の社名を入力すれば、抽出結果が自動的に表示されます。
    • good
    • 0
この回答へのお礼

簡潔でわかりやすいご回答ありがとうございます。
ご説明いただいたとおり別シートに入力していったところ、すぐに目的の結果が出ました!
あとは教えていただいた数式が理解できるように、これから勉強していきます。
本当にありがとうございました。

お礼日時:2011/04/17 20:44

シート1にお示しのデータがあるとしてら作業列を作って対応するのが式も単純で分かり易く計算にも負担がかかりません。


E2セルには次の式を入力して下方にオートフィルドラッグします。

=IF(A2="","",B2&COUNTIF(B$2:B2,B2))

そこで別のシート例えばC社についてのデータを表示したい場合には別のシートのA1セルにはC社と入力します。
2行目には項目を表示させるとしてA2セルには日付、B2セルには品名、C2セルには値段と入力します。

A3セルには次の式を入力してC3セルまでオートフィルドラッグしたのちに下方にもオートフィルドラッグします。

=IF(COUNTIF(Sheet1!$E:$E,$A$1&ROW(A1))=0,"",INDEX(Sheet1!$A:$D,MATCH($A$1&ROW(A1),Sheet1!$E:$E,0),IF(COLUMN(A1)=1,1,IF(COLUMN(A1)=2,3,4))))

その後にA列のセルの表示形式を日付にします。
これでA1セルに入力した社名のデータのみが表示されることになります。他社の場合でも入力の式は同じで、A1セルの社名を変えることで良いでしょう。
    • good
    • 0
この回答へのお礼

簡潔でわかりやすい回答ありがとうございました。
シート1で作業列を作って、ご回答の数式を当てはめたところすぐに思い通りの結果が反映されました。
データを共有する相手からの注文通りの結果にできましたので、これで相手も満足すると思います。
本当にありがとうございました。

お礼日時:2011/04/17 20:40

質問に載っている、質問に回答している者です。


imogasi方式でやってみます。
データ
Sheet1のA1:D5に
日付社名品目値段C社 <-F列です=作業列
4月1日C社鉛筆50円1
4月1日A社定規150円
4月2日C社ペン100円2
4月2日B社鉛筆100円
F1に選択する社名を要れます。
F2の式は
=IF(B2=$F$1,MAX($F$1:F1)+1,"")
下方向に式を複写します。
F列には上行からC者の行の連番が入ります。
Sheet2に行って、?1には =Sheet1!F1
A2セルには
=INDEX(Sheet1!$A$1:D10,MATCH(ROW()-1,Sheet1!$F$1:$F10,0),COLUMN())
右方向にD列まで式を複写。
その後A2:D2の式を下方向に式を複写。
D10やF10の10は実情に合わせて増やしてください
結果
Sheet2
C社
2011/4/1C社鉛筆50円
2011/4/2C社ペン100円
A列は表示形式を日付に設定すること。
本件で3件目以降に式を複写すると#N/Aが出ますが、
=IF(ROW()-1>MAX(Sheet1!$F$1:$F$10),"",INDEX(Sheet1!$A$1:D10,MATCH(ROW()-1,Sheet1!$F$1:$F10,0),COLUMN()))
とすると見えなくなります。
ーー
これはShhet1で作業列F列を使ってます(欠点)
ーー
Googleで「imogasi方式」で照会すれば、沢山の関数での抜き出し問題が出てきます。
その中に一発の式で、該当のC社の1項目セルが出る式が載ってます。この式が理解できれば良いですが、そうでなければ上記方法が難易度で次になると思う。
==
いつも言っているが、関数は抜き出し問題は苦手(不適)だと思う。エクセル(関数)はもともと計算用です。
操作のフィルタなどで考えることをすすめます(特に初心者には)。
ーー
週に3度程度は抜き出し問題がこのコーナーに出て、うんざりしてますが。
上記imogasi方式で出る質問の数個を読めば、解法のタイプは出つくしていると思う。
    • good
    • 0
この回答へのお礼

丁寧なご回答ありがとうございます。
自分なりに検索をかけてみたのですが、まだまだ甘かったようですね。
フィルタを使うなど未熟なりにできる範囲でやっていけるよう考えます。
教えていただいたこと、きちんと理解できるように勉強します。
ありがとうございました。

お礼日時:2011/04/17 20:23

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qエクセルで種類を数える関数が無いのは何故?

エクセルで種類を数える関数が無いのは何故なんでしょうか?

エクセルで種類を数えるには、いくつかの関数を組み合わせるのが一般的ですよね?
直接数える関数が無いのは、訳があるんでしょうか?

Aベストアンサー

>>エクセルで種類を数える関数が無いのは何故なんでしょうか?

やっぱり、そういう関数が必要な方が全体からみたら少数派だと、エクセルの開発者たちが考えているからではないかと思います。
また、既存の関数を組み合わせたら、対処可能だから、無理して新しい関数を作る必要性もない、開発の優先順位が低いって判断もあるでしょうね。

私は、エクセルの表を作ったり、エクセルVBAでプログラムを作ったりしますけど、そういう関数が必要になったことが全くありませんし。

QExcel マクロ 抽出 フィルタ 別シート

マクロは記録しかできない初心者です。
たとえば、
田中 6月 ナシ 12
鈴木 4月 林檎 23
安部 5月 葡萄 34
田中 5月 イモ 12
鈴木 7月 エビ 23
というデータがあって、別シートに「田中」だけのデータを抽出したい場合はどのようなマクロを組めばよいですか。
田中 6月 ナシ 12
田中 5月 イモ 12

しかも、その検索するデータを入力すると検索できるようにしたいのですが。たとえば、
A1に田中←と入力するとそれ以下に
田中 6月 ナシ 12
田中 5月 イモ 12  と抽出されるようにしたいです。

マクロ初心者ですので、詳しく説明をいただければ幸いです

Aベストアンサー

データ行数が多いということらしいが
テストデータでテストプログラムで600行ぐらいのデータでやったが、1瞬でした。10000行ぐらいなら辛抱できる処理時間でしょう。やってみて言っていますか。
下記は一番泥臭い総舐め法です。
下記コードで実際やってみてください。
こんな簡単なコードで出来ることです。
Sub test01()
k = 1
d = Worksheets("Sheet1").Range("A65536")
For i = 1 To d
x = Worksheets("Sheet1").Cells(i, "A")
If x = "田中" Then
Worksheets("Sheet2").Cells(k, "A") = Worksheets("Sheet1").Cells(i, "A")
Worksheets("Sheet2").Cells(k, "B") = Worksheets("Sheet1").Cells(i, "B")
Worksheets("Sheet2").Cells(k, "C") = Worksheets("Sheet1").Cells(i, "C")
k = k + 1
Else
End If
Next i
End Sub
ーー
If x = "田中" Then
の田中は検索条件の値の入っているセル(Sheet1のA1らしい)を指定してください。
実行のキッカケはボタンのクリックイベントなどに登録。
ーーー
処理するロジック・手法
(1)総なめ法(上記)
(2)Find,FindNext法
(3)Filter・コピー法
(4)ソートし田中の塊の行を抜き出し
(5)データ構造を持ち込む(作りこむ)
(6)アクセスなどに持ち込んで(MSクエリなど)SQLで処理
(7)ユーザー関数を作る(第n番目出現のの田中の行番号を返す関数)
私が思いつくものでも色々ある。

データ行数が多いということらしいが
テストデータでテストプログラムで600行ぐらいのデータでやったが、1瞬でした。10000行ぐらいなら辛抱できる処理時間でしょう。やってみて言っていますか。
下記は一番泥臭い総舐め法です。
下記コードで実際やってみてください。
こんな簡単なコードで出来ることです。
Sub test01()
k = 1
d = Worksheets("Sheet1").Range("A65536")
For i = 1 To d
x = Worksheets("Sheet1").Cells(i, "A")
If x = "田中" Then
Worksheets("Sheet2").Cells(k, "A")...続きを読む

Qエクセルの関数で

エクセルの関数辞典を見ていたら、CUMPRINC関数というのがありました。
しかし、エクセルの「挿入」→「関数」→関数の分類で「財務」というのを選択したのですが、一覧表に載っていません。
どこに載っているのでしょうか?
どうすればこの関数を使えますか?
ちなみにシートの上でやっても関数の反応をしませんでした。

Aベストアンサー

Yahooで検索してみると、参考URLが引っかかりました。

参考になりませんか?

参考URL:http://money-sense.net/doc/20041215_224257.php

Qエクセルのデータ抽出、別シートへの表記について

こんばんは。
昨晩同じ質問をしたのですが、やはりN/Aエラーが出てしまいますのであらためてお願いいたします。(昨晩の質問は締め切ってしまいました)

sheet2には下記のようなデータがあります。

   A       B       C       D
1         吉田     山田     佐藤  
2 10月1日   A 勤    C 勤    B 勤
3 10月2日   C 勤    B 勤    A 勤
4    ・・・以下、データが続く・・・

sheet1に、以下のような結果を表記したいのです。

   A       B       C       D
1          A 勤    B 勤    C 勤
2 10月1日    吉田     佐藤    山田 
3 10月2日    佐藤     山田    吉田
4   ・・・以下、データが続く・・・

過去の質問を見ても解決できませんでした・・。かなり素人です。お助けください。

Aベストアンサー

[ANo.1この回答への補足]に対するコメント、

》 実際のデータ範囲はV列まであります

それは Sheet2 のハナシ(勤務者名のこと)ですか?
A勤、B勤、C勤等の種類は幾つ?
同じ日に、例えばA勤の人が複数存在することはないのですか?

ちなみに、貴方の「昨晩同じ質問」に対する回答を私も試してみましたが、「N/Aエラー」は出ませんよ!「sheet1の右下(D3)の表示が”#N/A”」にはなりません!

Qエクセルの関数 ネスト

エクセルの関数 ネスト

エクセルの関数で、ネストさせるときがあるとおもうのですが、

関数を内側に書いたらよいのか外側に書いたらよいのか分からなくなる時があります。

エクセルの関数に関してわかりやすく書いてあるページなどありますか。

Aベストアンサー

こんばんは

Excel2003までは、ネストが7まで、2007では64までが可能です。
http://www.google.co.jp/search?hl=ja&source=hp&q=excel+%E3%83%8D%E3%82%B9%E3%83%88%E3%80%802003%E3%80%802007&aq=f&aqi=&aql=&oq=&gs_rfai=

「仕様上は可能」でも、複雑なネストは間違いが生じやすいですし、変更もしにくくなります。「出来るだけネストはしない」「適宜、中間結果をセルに出力する」という方法を採った方が、間違いが少なく、柔軟性のあるシステムになると思います。

>エクセルの関数に関してわかりやすく書いてあるページなどありますか。
関数の個別の機能ならば、Webサイトも書籍も多数あるのですが、「組み合わせて使う」というのはその場その場での発想になってしまうと思います。

Q条件に一致する行データを別シートに抽出する

日付別の各データが入力された総括のシートがあり「0」とします。
別に13個の項目別シートを固定の様式で作ってあります。「1~13」とします。

シート「0」のB2~B30までセル上に入力するデータが1~13の整数として入力する訳ですが、その入力されたデータセルの中で該当する数字を条件として抽出し目的のシートの決められた座標から順に行を開けずに表示したいのです。

例えばシート「0」のB列に6という数字が入力されていたら同じ行A、C、Dのデータを全てシート「6」のA、B、Cに表示させたいのです。

同じように他の数字も該当するシートに該当する数字の全てを表示したいのです

できるだけ判り易く教えてくださいお願いします。

Aベストアンサー

No.3です。

補足欄について。
D2に、

=SUM(C$2:C2)

と入力して、下の行へコピーします。
この場合は、C列が空白の場合も累計が表示されます。
C列が空白の場合は、累計を表示しないのなら、D2に、

=IF(LEN(C2),SUM(C$2:C2),"")

と入力して、下の行へコピーします。
ちなみに、C列の総計は、

=SUM(C:C)

で表示されます。

Qエクセル関数の解読サイトなんてありますか?

エクセル関数の解読サイトなんてありますか?

いつもお世話になっております<(_ _)>

エクセルファイルに関数の入った数式が入力されています。
セルごとに複数の関数が入っていますが、私にはちっともわかりません。

そこで質問です。
こんなとき「エクセル関数を解読」してくれるようなサイトってありませんか?

たとえば検索窓があってそこに「=SUM(S1:S13)」わからなくて困っている関数式を入力。
すると答えの別ボックスに「S1~S13までの数値の合計」と出てくるようなサイト。

それに近いサイトでも良いので知っている方がいらっしゃればぜひ、教えてください<(_ _)>

Aベストアンサー

もし、

=IF(E14="","",IF(O14="",(IF(E14>"18:00"*1,"18:00",E14)-IF(C14<="8:00"*1,"8:00",C14))*24*1300,(IF(E14>"18:00"*1,"18:00",E14)-IF(C14<="8:00"*1,"8:00",C14))*24*1625))

だったら、どういう文章が出て欲しいのでしょうか?

もしE14が空白だったら、
 空白、
そうじゃなかったから、
 もしO14が空白だったら、
  (もしE14が18:00より大きかったら18:00、そうじゃなかったらE14)-(もしC14が8:00以下だったら8:00、そうじゃなかったらC14)×24×1300
 そうじゃなかったら、
  (もしE14が18:00より大きかったら18:00、そうじゃなかったらE14)-(もしC14が8:00以下だったら8:00、そうじゃなかったらC14)×24×1625

って感じですか?
数式をそのまま読解したほうが解りやすくないですか?

Qエクセルで条件に合うものを別シートに抽出(関数)

希望日    りんご   ばなな   みかん   担当   配達チェック
6月1日      2             1     山田
6月3日             4      2     佐藤      
6月1日      3                   山田      済
6月2日             1            佐藤 
6月2日                    2     山田

というデータがsheet1に入力されています。
<条件>
 ・担当 山田のもの
 ・6月2日以前(このデータでは1日と2日)
 ・配達チェックが済でないもの(空白です)

この条件を満たすものをsheet2に抽出したいのです。
希望日    りんご   ばなな   みかん   担当   配達チェック
6月1日      2              1     山田
6月2日                    2     山田
とsheet2に表示させるには関数でできますか?
できれば、セル参照でA1セルに6月2日、B1に山田と入力すると抽出されるととても便利なのですが・・・。
皆様のお知恵を拝借させてください!!

希望日    りんご   ばなな   みかん   担当   配達チェック
6月1日      2             1     山田
6月3日             4      2     佐藤      
6月1日      3                   山田      済
6月2日             1            佐藤 
6月2日                    2     山田

というデータがsheet1に入力されています。
<条件>
 ・担当 山田の...続きを読む

Aベストアンサー

こんばんは!
一例です。

↓の画像でSheet1に作業用の列を設けています。
作業列G2セルに
=IF(COUNTBLANK(Sheet2!$A$1:$B$1),"",IF(AND(A2<=Sheet2!$A$1,E2=Sheet2!$B$1,F2=""),ROW(),""))
という数式を入れオートフィルでずぃ~~~!っと下へコピーしておきます。

そしてSheet2のA4セルに
=IF(COUNT(Sheet1!$G:$G)<ROW(A1),"",INDEX(Sheet1!A:A,SMALL(Sheet1!$G:$G,ROW(A1))))
という数式を入れ列方向と行方向にオートフィルでコピー!

A列の表示形式は「日付」にしておきます。
ただ、このままではSheet1に空白セルがあれば「0」が表示されてしまいますので、
当方使用のExcel2003の場合ですが、
メニュー → ツール → オプション → 「表示」タブ → 「ゼロ値」のチェックを外すと
画像のような感じになります。

以上、参考になれば良いのですが・・・m(__)m

Qエクセル関数を、書き写して分析できるツールはある?

タイトルの件、質問します。

エクセルの関数を分析する際に、エクセルの数式バーや、セルに入っている関数を
F2を教えて見るのでは、見にくい場合があります。

現在は、私は、メモ帳に関数をコピーして、分析したり、修正したりしています。
エクセルの機能or他ソフトで、関数を分析できるツールはあるのでしょうか??

【エクセルバージョン】
2003、2007

Aベストアンサー

難解な数式を理解したいとき,最も便利に利用できるのは,2003ではツールメニューのワークシート分析にある「数式の検証」です。
2007では数式タブにあります。

メンドクサイ数式のセルで数式の検証を使い,どの関数やどのカッコから計算が進んでいくのかを1ステップずつトレースして理解します。また意図しない結果がどの段階で発生しているのか追跡します。

このやり方は勿論間違った数式(意図しない結果が出てきた場合)を追跡するのにも使いますが,むしろ誰かに教わった「正しい数式」を理解する時に便利な方法です。
そもそも計算が通っていない(たとえばカッコの対応が間違えていて,Enterしても受け付けてくれないようなミスをしている場合)には使えません。



また,数式バーの中で数式の「中」にカーソルを入れて左右の矢印キーでカーソルを動かしていったときに,「(」や「)」をまたいだ瞬間に,対応する「閉じカッコ」「始まりのカッコ」が色つきで強調表示されるのを確認しながら,カッコの対応がまちがえてないかなどを調べるのも簡易な良い方法です。


あまり使わない方法ですが,数式の中で適宜ALT+Enterを打って「セル内改行」してしまい,数式を縦に分解して書いてみるのも整理しやすい方法のひとつです。

難解な数式を理解したいとき,最も便利に利用できるのは,2003ではツールメニューのワークシート分析にある「数式の検証」です。
2007では数式タブにあります。

メンドクサイ数式のセルで数式の検証を使い,どの関数やどのカッコから計算が進んでいくのかを1ステップずつトレースして理解します。また意図しない結果がどの段階で発生しているのか追跡します。

このやり方は勿論間違った数式(意図しない結果が出てきた場合)を追跡するのにも使いますが,むしろ誰かに教わった「正しい数式」を理解する時に便利...続きを読む

Q連続データから日付一致抽出し別シートへ転記したい

ひとつの処理として実行したいのですが、マクロ組み合わせがわかりません。。。・・どなたか教えてください

●エクセル シートAAA
A  B    C     D    E    F
1 2月1日 データ →
2 2月1日 データ →
3 2月1日 ↓
4 2月2日
5 2月2日
6 2月3日
7 2月4日
8 2月5日


・1日の入力は、複数行あります
・このシートAAAはマスタデータとして保存したい。
月間連続して入力されます

・シートAAA内に設置されたマクロボタンで、1日1回(日報)
日付名シートで追加してゆく

Private Sub CommandButton1_Click()
Worksheets.Add(After:=Worksheets("シートAAA")) _
.Name = Format(Now(), "yymmdd")
End Sub

・同日付シートがある場合は、上書き。一応確認のダイアログを表示  し、マクロエラーを回避したい
・追加シート名yymmddのデータは、シートAAA内で抽出された
yymmddと一致する全行列データを

・追加日付名シートタブのほかにセル内にもわかりやすく日付を表示させたい
・同時に追加シートyymmddを別ブックにも新規追加転記させたい
・できればシートAAA内のボタン、ワンクリックで処理完了させたい

■簡潔に?。。
マスタシートにデータ入力

ボタンクリック、
日付シートが追加される
マスタシートから、その日だけのデータを抽出し日報シートを
追加していきたい。また別ブックにも同内容で同時書き出し保存

お願いします

ひとつの処理として実行したいのですが、マクロ組み合わせがわかりません。。。・・どなたか教えてください

●エクセル シートAAA
A  B    C     D    E    F
1 2月1日 データ →
2 2月1日 データ →
3 2月1日 ↓
4 2月2日
5 2月2日
6 2月3日
7 2月4日
8 2月5日


・1日の入力は、複数行あります
・このシートAAAはマスタデータとして保存したい。
月間連続して入力されます

・シートAAA内に設置されたマクロボタンで、1日1回(日報)
日付名シートで追加してゆく

P...続きを読む

Aベストアンサー

マクロ作成に必要な考え方を書きます。
<準備>
(1)日報用紙を作り、Sheets(1)とします。
(2)シートAAAをSheets(2)とします。
(3)新しく作成する日報はSheets(3)とします。
 新しい日報はいつもシートAAAの直後に置くというルールにする。
<マクロの構成>
(1)シートAAAにて、日報に記述したいデータを収集します。
 収集データの保管方法は自分でお考え下さい。(配列 AAA()を利用すると便利です。)
(2)日報用紙をコピーし、シートAAAの直後に貼付け、シート名をつけます。そのシート名は、収集データから入力します。
(3)Sheets(3)にて、収集データを入力します。
(4)必要に応じて、ユーザーへの意志伝達を記述します。(例えば、プログラム作動中とか作業終了とか)
以上


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング