1つだけ過去を変えられるとしたら?

よろしくお願いします。

A列に、上からA~Fまでのアルファベット(6文字)がランダムに入って
50~100行あります。

B列に、アルファベットが持っている数字がランダムに入っています。

例;
品名  数量
 A    11
 A     3
 D     2 
 F     1
 F   132
 C    66
 B     8
 A    21
 B    36
 C     1
 C    20
 A     5  
 E     ・
 ・     ・
 ・     ・

これを並べ変えると、以下のようになりますが、(ここまでは出来ます)

 A    11
 A     3
 A    21
 A     5 
 B     8
 B    36
 C    66
 C     1
 C    20
 D     2
 E     ・
 ・     ・
 ・     ・
 ・     ・

Aの数量:11+3+21+5の合計40が機械的に現れるようにできませんか?
同様にBからDまでの合計数量も欲しいです。

行数が多いため、目で数えるとクラクラします。
よろしくお願いします。
ただし、マクロは全く理解できません。

A 回答 (6件)

> 教えていただいた関数 =SUMIF(品名,"A",数量) を最終行に入れて


> テストしましたが、数値が現れません。
そのまま書いてはダメです。「品名」には品名の入っている範囲、「数量」には
数量の入っている範囲を書いて下さいね。A2:A100のような感じです。

で、
> 実際の表は、縦方向(列方向)に1列だけでなく、複数の列に品名が並んで
> いるため、
これがちょっとイメージできないんですが、
A C  10
 B   20
  C  30
A    10
   D 30
B  E 20
このようになっていると仮定します。1列追加して品名が入る列を全部繋ぐように
=A2&B2&C2&D2
のような式を入れ、表を
A C  AC  10
 B   B   20
  C  C   30
A    A   10
   D D   30
B  E BE  20
のように変形すると、品名のどこかに「A」を含む行の数量の合計は
=SUMIF(今追加した列の範囲,"*A*",数量の入っている範囲)
で計算できます。A列からD列の2行目から100行目に品名があって、
E列を追加してF列に数量があるとしたら、
=SUMIF(E2:E100,"*A*",F2:F100)
ですね。
    • good
    • 0
この回答へのお礼

grumpy_the_dwarf 様

再度のご回答ありがとうございます。

試行錯誤で、ちょっと時間がかかりましたが、やっとご指示の方法で
ダイレクトに合計数値が得られました。
この方法は、並び替えと集計作業をしないので私にとっては優れ物でした。

A列の品名とB列の数がセットで、C列の品名とD列の数がセットになっており、これが複数(10も多ければ50も連続しております)。
複数の関数を入れるより(複数用の関数が長くなり過ぎ=間違いの元)、
各数列の最下セルに、1セットづつ、関数を入れて、終了後、総合計をさせれば
簡単でした。

これで、歯をくいしばって数えることもなく、厚いめがねを買う必要もなくなり、正確な値を得られることで、今夜はビールを飲んで乾杯です。

ありがとうございました。

お礼日時:2002/08/19 22:13

#2の方のSUMIF関数が一番簡単です。


サンプルをつけますので試してみてね。

サンプルの使い方の例
(1)下記のテキストをテキスト文書で保存
(2)拡張子を.txtから.csvに変更
(3)エクセルから開く

--------------------------------------------
商品,数量,関数,結果
a,1,"=SUMIF(A:A,A2,B:B)",14
c,2,"=SUMIF(A:A,A3,B:B)",19
b,3,"=SUMIF(A:A,A4,B:B)",22
d,4,"=SUMIF(A:A,A5,B:B)",11
a,5,"=SUMIF(A:A,A6,B:B)",14
c,6,"=SUMIF(A:A,A7,B:B)",19
d,7,"=SUMIF(A:A,A8,B:B)",11
a,8,"=SUMIF(A:A,A9,B:B)",14
b,9,"=SUMIF(A:A,A10,B:B)",22
b,10,"=SUMIF(A:A,A11,B:B)",22
c,11,"=SUMIF(A:A,A12,B:B)",19
--------------------------------------------


関数の部分はエクセルでは実際の値が表示されると思いますが、実際には関数がはいっています。

確認してください。

ちなみにSUMIFのヘルプです
----------------------------------------------------------------------------------------
書式
SUMIF(範囲,検索条件,合計範囲)
・範囲 評価の対象となるセル範囲を指定します。
・検索条件 計算の対象となるセルを定義する条件を、数値、式、または文字列で指定します。
・合計範囲 実際に計算の対象となるセル範囲を指定します。

解説
合計範囲に含まれるセルの中で、範囲内の検索条件を満たすセルに対応するものだけが計算の対象となります。
合計範囲を省略すると、範囲内で検索条件を満たすセルが合計されます。
Excel には、条件を基にデータを解析するための関数が他にもあります。たとえば、文字列またはセルの範囲内にある数値の個数をカウントするには、COUNTIF ワークシート関数を使用します。特定の売上高に達した場合にボーナスを支給するなど、2 つの値のうち 1 つを返すには、IF ワークシート関数を使用します。
----------------------------------------------------------------------------------------
    • good
    • 0
この回答へのお礼

tamo 様へ

ご回答ありがとうございました。

サンプルの拡張子を.txtから.csvに変更、の文言でびっくりしました。ので、テストとお礼が最後になりましたが、ご指示の方法と書式・解説で求める数値を取り出せました。
これからの作業は#2、#6の回答者様の方法で行います。
この作業を手伝ってくれる方々に説明し、理解してもらうのに、一番単純な方法が喜ばれるからです。
おもしろいエクセルの集計方法がいくつもあることが分かり、今夜はお月さんの
うさぎにありがとうといいます。
うさぎ曰く、『地球は青かった』。本当に今夜は良いことがありました。

お礼日時:2002/08/19 22:51

ピボット・テーブルを作成してみては。


合計を出すだけなら、並び替えの手順がいらなくなります。

詳しくは、Excelのヘルプをどうぞ。
Excelじゃなかったら、ゴメンなさい。
    • good
    • 0
この回答へのお礼

osamuy 様

ご回答ありがとうございます。

Excelで、作業しております。
ピボット・テーブルは、未だ触ったことがありません。
時々、この単語を見聞きしますので、いずれ必要な時が
くるかもしれませんが、今では頭がパニックします。

今回は#1、#2の回答者様の方法で仕事量は20分の1に
なりそうです。

ありがとうございました。

お礼日時:2002/08/19 17:12

集計の機能を使うとよろしいかと思います。



表の中をクリックしておいて、データメニュー~集計を選択してください。
集計のダイアログボックスが表示されますので、
「グループの基準」を"品名"にする。
「集計の方法」は"合計"になっているのを確認する。
「集計するフィールド」の"数量"にチェックが付いているのを確認する。
「現在の集計表と置き換える」にチェックが付いているのを確認する。
「集計行をデータの下に挿入する」にチェックが付いているのを確認する。
OKをクリックする。

これで品名ごとの集計が表示されます。
品名ごとの集計結果だけ折りたたんで表示したいときには、行番号の左にある四角で2と表示されているボタンをクリックしてください。

集計を解除したいときは、データ~集計で、集計のダイアログボックスを表示させ、全て削除をクリックしてください。

あと、蛇足ですが、並べ替える前の状態に戻したい場合は、番号の列を追加したほうがいいかもしれませんね。

ご参考になれば幸いです。m(__)m
    • good
    • 0
この回答へのお礼

ShadowMoon 様

ご回答を丁寧に書いていただき、ありがとうございました。

テストしながら、蛇足の内容も分かり、賢くなりました。
全くエクセルの機能には、質問の度ごとに驚かされております。

今回の回答は、時間の短縮と正確さがあり、いままで目をしょぼつかせて
やっておりましたので、これからは、ルンルン気分です。

ありがとうございました。

お礼日時:2002/08/19 17:06

並べ替える必要もなく、SUMIF関数で一発です。


品名がAである行の数量の合計なら
=SUMIF(品名,"A",数量)

B以降についても同様にどうぞ。

この回答への補足

grumpy_the_dwarf 様

ご回答ありがとうございます。

教えていただいた関数 =SUMIF(品名,"A",数量) を最終行に入れて
テストしましたが、数値が現れません。
実際の表は、縦方向(列方向)に1列だけでなく、複数の列に品名が並んで
いるため、もしかしたら一度の処理で終わるかな?と期待してテストしましたが、
私の操作が悪いのか、合計数値が出てきませんでした。

ご時間が許せば、再度教えていただければ助かります。

私の困った問題は#1、#3の回答方法で出来ましたが、並べ替えせずに
できる方法があれば、加えて、表の中から複数の列が一度にできれば
大助かりです。

締め切りを今夜真夜中に延ばしますのでよろしくお願いします。

補足日時:2002/08/19 16:52
    • good
    • 0

これは、集計機能を使ってはいけませんか?



表のなかのいずれかのセルをアクティブセルにして、
メニューバーの「データ」→「集計」をクリックします。

詳しくはURLを見てください。(データベース・集計)

参考URL:http://homepage1.nifty.com/kenzo30/ex_kisosyo/ex …
    • good
    • 0
この回答へのお礼

nei 様

ご回答ありがとうございます。

テストをしました。
当初は並べ替えをせず、データの集計を行っていたため、
不思議な世界に入ってしまいました。(出来ない。??? どうして???)

回答を何回か読み返し、URLを覗いて気が付きました。
並べ替えをした後に集計するとそこには『望むもの』がありました。
完璧です。
助かりました。今後の作業は楽が出来ます。
ありがとうございました。

お礼日時:2002/08/19 16:38

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