- ベストアンサー
エクセル 他シートの日付毎データ取得
エクセル2003を使用しています。 以下のようなデータ群(例:一ヶ月間の仕入れ日・品物)があり、 それを日付毎に別シートに移す作業を行いたいと思います。 ◆データ◆ A B 2010/3/1 りんご 2010/3/1 みかん 2010/3/2 パイン 2010/3/2 いちご 2010/3/2 みかん ・ ・ ・ ◆移す先◆ A B C D ・・・・ 2010/3/1 りんご みかん 2010/3/2 パイン いちご みかん ・ ・ ・ このように、一行にその日仕入れた品物を右方向に列記していく操作です。 予め、移す先の日付だけは1ヶ月分全てA列に記載しますので、品物名の 引き込みだけを行います。 既に体裁は作ってあるのですが、引き込む側のほうにどのような関数を 使えばいいのかがよくわかりません。 よろしくお願いいたします。
- areddin711
- お礼率24% (49/202)
- その他MS Office製品
- 回答数7
- ありがとう数4
- みんなの回答 (7)
- 専門家の回答
質問者が選んだベストアンサー
提示されたレイアウト(Sheet1のA1セル以下にデータが入力されていて、抽出先シートのA1セルに日付が入力されている)なら、Sheet2のB1セル(A1セルに検索する日付が入力されている)に以下の式を入力し下方向にオートフィルします。 =INDEX(Sheet1!$B:$B,SMALL(INDEX((Sheet1!$A$1:$A$1000<>$A1)*1000+ROW(Sheet2!$A$1:$A$1000),),COLUMN(A1)))&""
その他の回答 (6)
- silverfd
- ベストアンサー率57% (204/356)
#4です、連投すみません、記述が大変わかりにくいので、解説させて下さい。最近回答中に締め切られてしまうケースが多いもんで、ちとあせりました。 要は、C列~F列に各商品の存在フラグを立てるという形です。そして、B列はそのフラグによって、商品名を組合せています。 >そして、これを全部コピーしますが、そのセル自体をコピー先に含めずいっこいっこやって下さい。 これは、C2をC3、D2~F3までコピーという意味です。各商品のフラグです。 工夫点は、構造上この「りんご」やらを別名にしても動くようになっています。Sheet2のC1~F1の文言を直接書き換えます。不親切にデータベースの範囲がA1:B6だけですが、拡大する場合はこの6を10000とかに変更して、上記のように再度コピーして下さい。注意点として、配列はどうもExcel2003ではA:Aとかだと拾ってくれません。範囲指定(A1:A6)が必要なようです。
- KURUMITO
- ベストアンサー率42% (1835/4283)
シート1では1行目は項目名でA列およびB列が使われているとします。 C列は作業列としてC2セルには次の式を入力して下方にオートフィルドラッグします。 =IF(A2="","",IF(COUNTIF(A$2:A2,A2)=COUNTIF(A:A,A2),MAX(C$1:C1)+1,"")) またD2セルには次の式を入力して右横方向にドラッグコピーしたのちに下方向にもオートフィルドラッグします。 =IF($A2="","",IF(AND($A1<>$A2,COLUMN(A1)=1),$B2,IF(AND($A1=$A2,D1<>""),D1,IF(AND($A1=$A2,D1="",COLUMN(A1)<=COUNTIF($A$2:$A2,$A2)),$B2,"")))) その後にシート2では1行目が項目名でA1セルには日付、B1セルより右には品名とでも入力します。 A2セルには次の式を入力して右横方向にオートフィルドラッグしたのちに下方向にもオートフィルドラッグします。 =IF(COUNTIF(Sheet1!$C:$C,ROW(A1))=0,"",IF(COLUMN(A1)=1,INDEX(Sheet1!$A:$A,MATCH(ROW(A1),Sheet1!$C:$C,0)),INDEX(Sheet1!$C:$X,MATCH(ROW(A1),Sheet1!$C:$C,0),COLUMN(A1)))) 最後にA列の表示形式は日付にします。
- silverfd
- ベストアンサー率57% (204/356)
数式だけで出来ましたよ。 Sheet1 日付 商品 3月1日 りんご 3月1日 みかん 3月2日 パイン 3月2日 いちご 3月2日 みかん Sheet2 日付 商品 りんご いちご みかん パイン 3月1日 りんご みかん 1 0 1 0 3月2日 いちご みかん パイン 0 1 1 1 みづらいですけど、うまくシートに展開して下さい。要はC1がりんご、C2が1、C3が0ですね。 Sheet2の数式は、Sheet2のC2(りんごの下)は、 {=SUM(IF(Sheet1!$A$2:$A$6=Sheet2!$A2,1,0)*IF(Sheet1!$B$2:$B$6=Sheet2!C$1,1,0))} で、これ配列なので、{}をとった数式を「Ctrl+Shift」でEnterして下さい。 そして、これを全部コピーしますが、そのセル自体をコピー先に含めずいっこいっこやって下さい。 含めてばーっとやろうとすると「配列は変更できません」と出てやれませんので。 そして、Sheet2のB2(商品の下)には、 =IF(C2>0,$C$1&" ","")&IF(D2>0,$D$1&" ","")&IF(E2>0,$E$1&" ","")&IF(F2>0,$F$1&" ","") これで、日付にみかんやらいちごやらが一つ以上あれば、半角スペースで上記順番で言葉をつなげて行きます。 わからなかったら、補足でどうぞ。
- tom04
- ベストアンサー率49% (2537/5117)
こんにちは! 一例です。 Sheet1の2行目からデータがあり、Sheet2のA列は日付があらかじめシリアル値で入力されているものとします。 1行目は見出し行だとして、2行目からの入力になります。 配列数式になってしまいますので、この画面からコピー&ペーストしただけではエラーになると思います。 Sheet2のB2セルに貼り付け後、F2キーを押す、又はB2セルでダブルクリック、又は数式バー内で一度クリックします。 編集可能になりますので、Shift+Ctrl+Enterキーで確定します。 数式の前後に{ }マークが入り配列数式になります。 Sheet2のB2セルに =IF(COUNTIF(Sheet1!$A$2:$A$1000,$A2)<COLUMN(A1),"",INDEX(Sheet1!$B$2:$B$1000,SMALL(IF(Sheet1!$A$2:$A$1000=Sheet2!$A2,ROW($A$1:$A$999)),COLUMN(A1)))) として、Shift+Ctrl+Enterキーです。 これを列方向と行方向にオートフィルでコピーすると 希望に近い形にならないでしょうか? 尚、数式はSheet1の1000行目まで対応できるようにしています。 以上、参考になれば幸いですが 他に良い方法があれば読み流してくださいね。m(__)m
- ASIMOV
- ベストアンサー率41% (982/2351)
ピボットテーブルはどうでしょう レイアウトで「NAME」を「列」と「データ」の両方に入れると 図のような表ができます 希望の様式とは違いますが、計算する時はこちらの方が便利かと...
- chuchuo
- ベストアンサー率45% (99/217)
関数では無理だと思います。 VBAでマクロを組んで実行するしか無いでしょう。
関連するQ&A
- Excel データの取得方法
いつもお世話になります。 Excel(2002)について質問させていただきます。 シート2からデータを取得し、シート1に表示したいのですが・・・ 取得条件は、シート1のA列「みかん」の次の行に「いちご」が くるようにしたいです。また、シート1は必ず「りんご」「みかん」 「いちご」に順になり、それぞれの数(行数)は変動します。 Sheet1 Sheet2 A B A B りんご 8 いちご 3 りんご 7 いちご 2 みかん 5 いちご 3 いちご 2 これはマクロの一部として行いたいのですが、方法がわかりません。 よろしくご指導のほどお願いします。
- ベストアンサー
- オフィス系ソフト
- エクセル関数 データの抽出について
エクセル2010 重複データの抽出。 重複データの抽出方法をご教示ください。 抽出先はシート1のA列A3~抽出データの分だけ リストはシート2のB2:AB32まで フィルターオプションなども使ってみたのですが どうも上手くいきません。 どなたか知恵をお貸しください。 方法はできれば関数だといいのですが(データが増えてもいいように) できなければ他の方法でもいいです。 VBAなどは全くの初心者なので出来れば避けたいのですが… シート2 A B C D~AB32 1 "" 2 いちご ばなな いちご りんご 3 みかん いちご ばなな いちご 4 りんご ばなな いちご みかん 5 みかん いちご ばなな りんご 6 ばなな ばなな りんご いちご : : 32 シート1(重複データなし) A 1 "" 2 "" 3 いちご 4 みかん 5 りんご 6 ばなな 7 : : 抽出リストのデータはシート2のB2:AB32にぎっしり入っています。 宜しくお願い致します。
- 締切済み
- オフィス系ソフト
- エクセル2003での質問です
エクセルの関数の質問です 例えばですが、シート1をデータシートして、A列に日付とし、B列にりんごの種類、C列にみかんの種類 D列にいちごの種類とした時に、シート2を検索シートとした場合、検索シートのA1に特定の日付を 入力した時、B1に特定の条件で表示出来る方法が知りたいです。 通常、はD1列(いちごの列は、データが全て入っています)の「いちご」を表示させ、 B列にりんごを入力した場合は「りんご、いちご」と表示させ C列にみかんが入力された時は、「みかん」と表示させたいのです。 (B、C列は日付により「みかん」だけ、「りんご」だけとかあります) よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- 重複データを除外する際に条件をつけたい
下記(A)の状態から(B)のような結果を出したくて、group by やサブクエリなどで試行錯誤しましたが、 欲しい結果が取れず困っております。 どなたかわかる方、ご教授いただけましたら助かります。よろしくお願いいたします。 (MYSQLバージョン:4.1.21) (A) NO|入荷日付|種別|名称 3|20080730|2|りんご 4|20080801|2|りんご 5|20080728|2|りんご 8|20080801|2|りんご 10|20080812|2|りんご 7|20080811|25|ぶどう 9|20080811|25|ぶどう 1|20080731|36|みかん 2|20080728|36|みかん 6|20080808|50|いちご (B)抽出結果 NO|入荷日付|種別|名称 10|20080812|2|りんご 9|20080811|25|ぶどう 1|20080731|36|みかん 6|20080808|50|いちご ■抽出条件 ・【種別】ごとに【入荷日付】が最新のデータを1件だけ抽出。 ・ NO:7やNO:9のデータのように、【種別】と【入荷日付】が同じ場合は、【NO】が最大のデータを抽出。
- ベストアンサー
- MySQL
- エクセル 表の表示について
どなたかお知恵をお貸しいただけたら幸いです。 現在エクセルの表で、日付と買ったものが並んでいるのですが、その表示を一括で変更できたらと思っています。 A列 4/1 りんご B 4/1 みかん C 4/1 いちご D 4/2 みかん E 4/2 メロン F 4/3 いちご 上記の表があり、これを下記のような表に簡単に直すやり方が見つけられずに悩んでおります。 A列 4/1 4/2 4/3 B りんご みかん いちご C みかん メロン D いちご どなたかよろしくお願いいたします。
- ベストアンサー
- オフィス系ソフト
- Excelの使い方で質問
例えば、 A列1~10には「No.」として1~10の数字が順番に入ってます。 B列1~10には「りんご」「みかん」「いちご」「ぶどう」という文字がいくつかずつ入っています。 そういうデータで「りんご」は「No.」いくつといくつにあるか、「みかん」は「No.」いくつといくつにあるか、「いちご」は…、「ぶどう」は…、といったように集計したいと思っています。 りんご 1,5,6 みかん 9 いちご 2,3,9 ぶどう 4,7,8,10 といった感じにできれば良いのですが、どうすればよろしいのでしょうか? よろしくご教授ください。
- ベストアンサー
- Excel(エクセル)
- EXCEL2003 行のタイトルを、データのあるところだけ抜き出し列(縦並び)にしたい
エクセルで作られた注文データを、アクセスで読み込むために変換をするのですが、指定されたデータの並びがエクセルで作ったものと違うため、先に並び替えが必要になります。 エクセルのデータは1行に1つの番号(注文番号・重複なし)をつけ、その内容(注文数)を右へ記載していますが、指定された並びは注文の品物一つにつき、一行というものです。 一つの注文に複数品の注文があるものもあり、単純に移し変えが出来ずに困っています。 変更前のデータでは品物は50種ぐらい、注文は50件ぐらいです。 手作業でも何とかなるのですが、毎日受け取るデータなので作業時間を短くしたいと思っています。 お知恵を拝借できればとても助かります。 元データ例: A B C D E...... 1 番号 リンゴ バナナ みかん イチゴ...... 2 1 1 1 3 2 2 4 3 2 1 5 4 1 変換後データ例: A B C 1 番号 2 1 リンゴ 1 3 1 バナナ 1 4 2 バナナ 2 5 3 リンゴ 2 6 3 みかん 1 7 4 バナナ 1
- ベストアンサー
- オフィス系ソフト
- エクセルで複数のシートからデータを抽出したい
例えば、 シート1 シート2 シート3 新しいシート あんず めろん あんず あんず いちご なし もも → いちご みかん りんご かき りんご かき なし みかん めろん もも りんご という感じで、シート1から3を同じデータはダブらず新しいシートにまとめたいのです。ひとつひとつ見ていくのは大変なので、手っ取り早くできる方法を教えてください。
- 締切済み
- オフィス系ソフト
- エクセルで複数のシートからデータを抽出したい
例えば、 シート1 シート2 シート3 新しいシート あんず めろん あんず あんず いちご なし もも → いちご みかん りんご かき りんご かき なし みかん めろん もも りんご という感じで、シート1から3を同じデータはダブらず新しいシートにまとめたいのです。ひとつひとつ見ていくのは大変なので、手っ取り早くできる最も簡単な方法を教えてください。難しいことは分かりません。
- 締切済み
- オフィス系ソフト
- 二つのデータを比較してデータを自動でコピペしたい
Sheet1「元データ」 A B C D 1 0001 みかん A店 3/1 2 0200 りんご B店 3 0311 いちご B店 3/10 4 いちじく C店 5 0360 メロン D店 6 かき P店 7 0312 キウイ D店 Sheet2「最新データ」 A B C D 1 0001 みかん A店 3/1 2 0190 3 0200 りんご B店 4 0311 いちご B店 3/10 5 0422 洋ナシ C店 6 0250 7 0500 すいか P店 8 0312 キウイ というデータがあり、Sheet1のデータで、Sheet2には無いものがあったら、Sheet2に追加をしたいのですが、どのようにすればよいのか、さっぱりで困っています。何かヒントなどを戴きたいと思います。 よろしくお願いします。 こんな感じにしたいです。 Sheet2「最新データ」 A B C D 1 0001 みかん A店 3/1 2 0190 3 0200 りんご B店 4 0311 いちご B店 3/10 5 0422 洋ナシ C店 6 0250 7 0500 すいか P店 8 0312 キウイ 9 いちじく C店 10 0360 メロン D店 11 かき P店
- ベストアンサー
- オフィス系ソフト
補足
お礼おそくなりまして大変申し訳ございません。 たくさんのご回答をいただきましたが、こちらの方法で作成したいと思います。 ありがとうございました。