• 締切済み

エクセルの使い方

エクセルの使い方で質問します。 シート1で集めたデーターをシート2で集計を取りたいと思います。 シート2では一部でしか入力されていないのですが、シート1で入力すれば自動でシート2に入力する方法はありますか? 関数やマクロを使えばよろしいのでしょうか?

みんなの回答

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.3

例えばシート1ではA2セルにドングリの文字があり、下方にその種類と合計の文字が、それより下の行には容器の文字とその種類があるとします。 それらの右側には、すなわちB列には、個数が入力されているとします。もちろん個数はすべての種類に入力さている必要はありません。空白のままのセルもあります。なお、ドングリの横には個数、容器の横には個数の文字があるとします。 そこで作業列としてC2セルには次の式を入力して下方にオートフィルドラッグします。 =IF(B2="","",IF(ROW(A2)<=MATCH("合計",$A:$A,0),MAX(C$1:C1)+1,IF(ROW(A2)=MATCH("容器",$A:$A,0),MAX(C$1:INDIRECT("C"&MATCH("合計",$A:$A,0)))+2,IF(ROW(A2)>MATCH("容器",$A:$A,0),MAX(C$1:INDIRECT("C"&ROW(A2)-1))+1,"")))) 次にシート2ではA2セルに次の式を入力してB2セルまでオートフィルドラッグしたのちに下方にもオートフィルドラッグします。 =IF(ISERROR(INDEX(Sheet1!$A:$B,MATCH(ROW(A1),Sheet1!$C:$C,0),COLUMN(A1))),"",INDEX(Sheet1!$A:$B,MATCH(ROW(A1),Sheet1!$C:$C,0),COLUMN(A1))) これによりシート2にはお望みの表が完成します。 この方法の良いところはシート1でのドングリや容器の種類が多くの行(任意の行範囲)に入力されていても個数が入力されなければシート2では除かれることはもちろんですが、ドングリの種類とその個数が表の上から連続して入力されていなくても、途中に空白の個数があっても正しくシート2に表示されることでしょう。

  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.2

ご質問の趣旨は、Sheet1のデータシートのC列に個数データが入力されているものだけ集計表に表示したいという意味でしょうか? その場合はSheet2のB18セル(ドングリの名称を入力したいセル)に以下の式を入力し、右方向に2つ下方向に適当数オートフィルしてください。 =INDEX(Sheet1!B:B,SMALL(INDEX((Sheet1!$C$15:$C$22="")*100+ROW($C$15:$C$22),),ROW(A1)))&"" 同様にB27セルに以下の式を入力し同様にオートフィルコピーしてください。 =INDEX(Sheet1!B:B,SMALL(INDEX((Sheet1!$C$26:$C$28="")*100+ROW($C$26:$C$28),),ROW(A1)))&""

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

こんばんは! 参考になるかどうか判りませんが・・・ 一例です。 ↓の画像で説明させていただくと Sheet1にデータを入力すれば、その品目が表示され、合計数がB列に表示されるようにしています。 尚、合計欄は今後データが増えても良いように、 別列に表示させてみました。 「容器」に関しても同様の方法になりますので、 品目のみの方法を回答してみます。 Sheet1のC列を作業用の列とさせてもらい、 C2セルに =IF(OR(COUNTBLANK(A2:B2)>0,COUNTIF($A$2:A2,A2)>1),"",ROW(A1)) という数式を入れ、オートフィルで下へずぃ~~!っとコピーします。 そして、Sheet2のA2セルに =IF(COUNT(Sheet1!$C$2:$C$100)<ROW(A1),"",INDEX(Sheet1!$A$2:$A$100,SMALL(Sheet1!$C$2:$C$100,ROW(A1)))) B2セルに =IF(A2="","",SUMIF(Sheet1!$A$2:$A$100,A2,Sheet1!$B$2:$B$100)) という数式を入れ、A2・B2セルを範囲指定し、B2セルのフィルハンドルで 下へコピーすると画像のような感じになります。 そして、合計欄のC2セルは =SUM(B:B) という数式を入れています。 これでSheet1に新たにデータを入力するたびにSheet2に反映されると思います。 尚、数式は100行まで対応できるようにしていますが、 データ量によって範囲指定の領域はアレンジしてみてください。 以上、参考になれば幸いですが 他に良い方法があれば、読み流してくださいね。m(__)m

関連するQ&A

  • エクセルのマクロについて

    エクセルのマクロについて教えてください。 毎月、データをダウンロードし、VLOOKUP関数などを使って、 必要項目を入れ、ピポットテーブルで合計を出すという 作業をしています。マクロを使ったら、簡単にできるのでは ないかとやってみましたが、マクロで登録しても 毎月集計をするデータの件数が異なるため、 VLOOK関数で入力されるのが、そのマクロで登録したときの ものまでで、残りのセルが空欄になっていたり、 ピポットテーブルの集計は、データの範囲を選びなおしたり しないといけませんでした。 いい方法はないでしょうか。 マクロに作業を記録して、そのシートではなく、 ほかのファイルのシートで 実行する場合は、そのマクロを登録したときのファイル(シート)を 毎回開かなければならないのでしょうか。 基本的なことがわかっていません。 教えてください。

  • エクセルのデータ集計について

    エクセルのデータ集計について質問です。現在windowsxp・office2007を使用しています。 エクセルの1ファイルに10シート、シート全てにデータが入力されており、このファイルが20弱あります。 ここから必要な数値を参照して、集計ファイルに集計しているのですが全て手作業で非効率的です。 何度か関数を使用して効率化を図ったのですが、どうも意図した結果は出ませんでした。(COUNTIF・COUNTIFS関数と、「統合」機能を使用しました) 調べてみたところ「マクロ」機能を使うと効率化できるかも、と思ったのですが、どのようなマクロを組めば良いのか、また、マクロ機能を使用しない場合どういった関数を使用すれば簡単にまとめられるのかご教授いただければと思います。

  • エクセルでマクロを作りたいのですが上手くいきません

    エクセルで会社で使うファイルを作成していますが、ファイルサイズが大きくなりすぎたので、こういうマクロが作れないかと調べていたのですが、やり方がわからないので困っています。 わからないのは、入力シートのA列にデータを入力して、シート2のB列に自動的に表示する ことを自動的にやってくれるマクロです。 今はIF関数をシート2に入力している状態ですが、セルに関数を入れる方法だとファイルサイズが大きくなりすぎてしまいます。 (IF関数をあらかじめ入力しておくセル数がとてもたくさんある為) なお、入力シートA列がブランクの場合は、シート2のB列には何も表示されないようにしたいです。 大変困っております。よろしくお願いします。 

  • エクセル 3つのシートを1つに取り纏める No2

    こんにちは質問です。 仕事でいきずまってます。エクセルのスペシャリスト様、ご教授願います。 3人の担当者のsheet(ああ、いい、うう)があり、工場名、工事名称、担当者が記入してあります。 1、集計シートに3人の担当者sheetにあるデータを取り纏め表示させたいです。 2、集計シートに表示しているように、空白の行は削除したいです。 3、担当者sheetのデータは別データとリンクされていて常に更新されている。多いときは200~300行位になります。 マクロは苦手です。関数でなんとかなりませんか? ※毎回1、2の作業は面倒なのでデータを起動させると集計シートに自動でデータを取り纏めたいです。どうすればいいか、わかりません助けてください。

  • エクセルで集計

    エクセルで集計 シート1に1つの列に各支店名、2つ目の列に各商品名、3つ目の列に商品個数がランダム入力されているデータをシート2に自動で整理し集計したいのですが、2つの列の集計は関数SUMIFできるのですが、例えば、「各支店の商品個数の集計」など、「各支店の各商品の個数の集計」などの3つの列の集計方法を分かる方、いましたら教えてください。宜しくお願いします。

  • EXCELで関数だけの集計を行いたい。

    こんにちは。 エクセル(VER97以上)の関数のみを使用して(マクロを使わず) 以下のような集計を実現したいのですが可能でしょうか? シート1 A B 1 日付 内容 2 2001.11.27 データ1 3 2001.11.27 データ2 4 2001.11.27 データ3 5 2001.12.03 データ1 6 2001.12.03 データ2 7 2001.12.03 データ3 8 2001.12.15 データ1 9 2001.12.15 データ2 10 2001.12.15 データ3 11 2001.12.15 データ4 12 2001.12.15 データ5 13 2001.12.15 データ6 シート2 1 日付 件数 2 2001.11.27 3 3 2001.12.03 3 4 2001.12.15 6 5 総合計 12 (Tab区切りデータです) シート1に入力した日付データをシート2に日付でグループ化して データ件数を集計したいのですが関数で行おうとするとかなり難し そうですが、うまい関数を使えば出来そうな気もします。 実現可能でしょうか? よろしくお願いします。

  • エクセルでの集計についておしえてください

    エクセルで1シートひと月にし、日ごとにどこの部署の誰が何をいくら販売したかの入力を行い、月ごとの集計を別シートで行います。 さらに月ごとの集計を別シートに1年の集計する、という作業を これまで月ごと集計をピボットテーブルで、1年集計を月ごとシートを +するというちからワザでおこなってきましたが、もう少し簡潔で、 日々の入力が簡単になる方法を教えてください。 毎日、集計結果が必要となるので、自動集計になるような・・・ マクロ等は初心者ですので、なにとぞやさしくおねがいします。 わかりずらい説明ですが、一応エクセルのファイルを添付します。

  • エクセルのシートを自動で

    こんにちは。 エクセルの複数のシートのデータを自動的に一枚のシートに反映させたいのですが、教えていただけますか? シート1~31まで日々のデータが入っています。それを自動的に一枚のシートにまとめたいのです(集計ではなくて) 例えば、入力時に自動的に反映しても良いですし、もしくは、他の方法でもOKです。 1~31のシートのデータ数は日々違います。 よろしくお願いいたします。

  • Excelの集計について

    Excelを使って、添付画像左上のリストに入力された値をもとに、右側に集計結果を表示したいのですが、やり方がわからず困っています。 ・他のプログラムからリストに値を入力し、集計結果を取得したいです。 ・リストの入力値が変われば、自動で集計結果を変えたいのでExcel関数の組み合わせ、もしくはマクロ等で集計させる方法はないでしょうか。 詳しい方、教えてください。 よろしくお願いします。

  • エクセルでリンクや並べ替えを多用するのですが

     エクセルでデータ整理をするのに、シート1で入力したデータをシート2に反映させて、さらに並べ替えも済ませたいんです。  説明しにくいですが、シート1で奇数番号の人、偶数番号の人にわけて入力をします。  シート2では奇数偶数をまとめ、番号順になっている状態のデータにしたいんです。シート1に入力したらシート2に自動的に入力されるようリンクもしたいです。  vlookup などの関数もいろいろ使っているので、参照値などが変わったりしないか心配です。  実際作ってみているのですが、何か簡単な方法(マクロは使いたいのですが、やり方がわかりません)があれば教えてください。

専門家に質問してみよう