Excelで日計表みたいなものを作っています。

A-1に日付
A-2に醤油ラーメン  B-2に売上金額¥2,530
A-3に味噌ラーメン  B-3に売上金額¥1,830
A-4に塩ラーメン   B-4に売上金額¥2,450

のような表が毎日繰り返されています。3月なら定休日の水曜を除いて26のシートがあります。

この味噌ラーメンの月合計を出すにはどうしたら良いのかお知恵を貸して下さい。B-2の3月の合計ということで・・・

※架空でラーメンやさんの売り上げにしてますが、本当は違いますのでご了承下さい。

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

A 回答 (6件)

いわゆる串刺し演算でしょうか。


シートが違っても1つ1つのセルをシートをめくって足していくことができます。
串刺しは異なるシートの同じセル番号を範囲指定する方法です。

通常通り合計を表示したい位置に「=sam()」を用意して(オートサムをクリック)、まず先頭のシートを開き合計したいセルをクリックします。
次に範囲の最後になるシートを開くのですが、このときにshiftキーを押しながらタブをクリックします。
これで範囲にシートを串刺ししたものがはいりますので、enterキーを押せば、セルに串刺し演算の結果が入ります。
    • good
    • 0
この回答へのお礼

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

できました!!簡単でした!!

お礼日時:2005/04/08 13:05

日毎集計シート "3月1日"


3月1日
品名売上金額
みかん1
りんご2

日毎集計シート "3月2日"
3月2日
品名売上金額
みかん10
りんご20

日毎集計シート "3月xx日" ・・・


月間まとめ 出力シート  3月 
2005年3月
品名売上金額
りんご=全部のシートの項目の合計(A3)
みかん=全部のシートの項目の合計("みかん")

動作
日毎集計シートの シート名を判断して
各シートで指定した品名の 右隣の売上金額を集計します。
※各シートで同じ品名のセルが無いこと。
※月間まとめ 出力シート のシート名に シート名判定 文字・語句を含まないこと。

 
↓ツール マクロ 標準モジュールに追加↓

Function 日毎シートの項目の合計(検索語句)

シート名判定 = "日" 'を含む 日付け名に応じて"3/" など

If IsObject(検索語句) Then
品目語 = 検索語句.Value
Else
品目語 = 検索語句
End If

For Each シート In Worksheets
If シート.Name Like "*" & シート名判定 & "*" Then
Set 発見品目セル = シート.Cells.Find(what:=品目語, Lookat:=xlWhole)
If Not 発見品目セル Is Nothing Then
合計 = 合計 + 発見品目セル.Offset(0, 1) '品目の右隣の品目売上金額/日
End If

End If
Next
全部のシートの項目の合計 = 合計
End Function
    • good
    • 0
この回答へのお礼

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

ほとんど意味が分かりませんでした!
勉強して出直してきますm(_ _)m

お礼日時:2005/04/08 13:15

補足です。



結果を書いてなかったですね。
=sam(Sheet1:Sheet26!B2)
となるはずです。

で、1つコツがありますが、毎日シートを増やす場合、シートが増えると合計の最後のシート名が変わってしまうので、合計セルを一々書き換えないと行けなくなります。
そこで、日計のシートの前後に表紙と裏表紙にあたるシートを挟み
=sam(表紙:裏表紙!B2)
とすれば、間にシートが何枚になっても、どのシートを追加・削除したとしても合計がでてくれますし、合計シートに手を加える必要もありません。

私の場合は、裏表紙を日計表の原本にして、追加のシートはこれをコピーして使うようにしています。
    • good
    • 0
この回答へのお礼

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

>>日計のシートの前後に表紙と裏表紙にあたるシートを挟み
>>=sam(表紙:裏表紙!B2)とすれば

うーーんと、、、、後でやってみます(^_^;)

お礼日時:2005/04/08 13:13

3D集計(串刺し集計)でできます。



文字だけの説明では理解しづらいと思いますので、
解説してるHPを紹介しておきます。
     ↓

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

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

参考URLもありがとうございます

お礼日時:2005/04/08 13:10

串刺し計算させれば良いのでは?


シート名が1日~31日(定休日や存在しない日は未入力)として
=SUM('1日:31日'!B2)
    • good
    • 0
この回答へのお礼

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

串刺し計算という言葉自体はじめてしりました!

お礼日時:2005/04/08 13:08

手入力するのであれば


=Sheet1!B2+Sheet2!B2+Sheet3!B2・・・
みたいな感じでいけると思いますよ。

1個作ればあとはコピーで。
    • good
    • 0
この回答へのお礼

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

できました!

お礼日時:2005/04/08 13:04

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

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

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

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

Qシートベルトの固定解除

チャイルドシートを取りはずそうとして,(シートベルトの固定機能が作動しているときに)誤って,チャイルドシートの固定する金具の軸に引っかけてしまい,そのためチャイルドシートが取り外せなくなってしまいました。つまり引っ張っても,固定されてしまってシートベルトが伸びずにはずせなくなってしまったのです。
一度,シートベルトを巻き戻すほかに,シートベルトの固定を解除する方法はないのでしょうか。
車屋さんに頼むしかないのでしょうか。

Aベストアンサー

最近の車のリアシートの、最後までシートベルトを引き出すとカチカチカチカチと引き込まれるタイプですね?

探してもないかとは思いますが、お車によってはどこかをどうにかするとシートベルトが、チャイルドシート固定機構が外れる構造になっているかもしれません。その場合は、お車の取扱説明書に書かれている場合もあると思いますので、まずは探してみて下さい。(外車や高級車ですと、電気的に、裏コマンドで、例えば“どこかのスイッチを何回繰り返し押すとチャイルドシート固定機構が外れる。”なんてことになっているかもしれませんので、)無理に何かをやってみる前に、その辺(取扱説明書や、ディーラーに電話 問い合わせ)をまずよく確かめてみて下さい。

次に、“知恵の輪”的にやってみるしかないです。まず、反対側のシートベルトで、どこまで引き込めばチャイルドシート固定機構がフリーになるのかを確認し、その長さまで何とか引き込めないかを、知恵の輪の様にやってみるのです。これでしばらくやってみても無理でしたら、もう無理です。


次に、どこかを外し始めることになりますが、セダンですと、取扱説明書に、リアシートの外し方が載っている場合が多いです。これは、最近のリアシートは、シートカバーを付けたり外したりしやすいように、工具なしで簡単にリアシートが外れる場合が多いのです。リアシートが外れれば、その分すき間ができますので、その分引き込めてチャイルドシート固定機構がフリーになるかもしれません。
これも、シートを外す前に、反対側ベルトで長さを確認してから作業を始めたほうが良いですね。


フロントシートベルトに付いているアンカー(肩の上にある、肩ベルトの高さを調節する部分。)のようなものがリアシートベルトにも付いておりましたら、最後の手段があります。

(上記が全てが不可でしたら、)“最後の手段”、シートベルトの一番上のアンカーのところのボルトだけを外します。自転車の車輪が外せる程度のDIYが出来るかたがおられましたら、可能な作業ではありますが、100%の自信がある場合以外は、専門家に頼んで下さい。
ラチェットハンドル(http://www.koken-tool.co.jp/img/products/tec/ratchet/3753n.jpg)と ソケットレンチ(http://www.koken-tool.co.jp/catalog/img/main/h4/4400m.jpg)といった工具を必ず使って下さい。

決してこんな モンキレンチ(http://www.kyototool.co.jp/products/catalog/nepros/nwm.jpg)や スパナ(http://www.kyototool.co.jp/products/catalog/nepros/ns2.jpg)は使ってはいけません。

どこのボルトを緩めるかといいますと、リアシートベルトを支えてる、一番上の部分てありますよね?座った時に肩より上に来る部分です(アンカーといいます。)。これは、ボルト1本で取り付けられているのですが、きっとプラスチックの めくらぶた が付いていると思いますが、まずこれを外し、 ボルトを緩める前に、油性マジックインキなどでボルトの頭の一番上に印を付けておくと、あとで締め付けるときの目安になります。
その後、ソケットレンチにて、反時計回りにじわっと緩めます。この時注意して頂きたいのは、緩んだ瞬間に工具がリアガラスに当たって割れないように充分に気を付けて下さい。

ボルトが緩みさえすれば後は簡単です。手でボルトをクルクル緩め、完全に外れる前に、アンカー内にあるスペーサーやワッシャーをなどを なくさないように気を付けて、付いてる順番などを覚えながら外して下さい。

これでかなりの量のベルトが引き込めるようにはなるのですが、これを外したところで、必ずチャイルドシート固定機構が外れるかどうかは分からないというのが実際です。なぜなら、お車が、どの程度ベルトが引き込まれれば固定機構が外れるかや、チャイルドシートがどの程度ベルトを消費(巻き付き)しているかによって、変わってくるのです。

(リアシートの方は、アンカーが内装トリムの中に隠れているタイプの車もあり、その場合は、トリムを外すといったことは、出来そうな気がしても、お勧めできません。  トリムはなれない人が外すと割れてしまったりします。)


リアシート座面を外して、腰より下の部分のシートベルト(左シートなら腰の左側)の取り付け部を外す方法もありますが、ここまでやる場合は、よほど自信がある場合だけにして下さい。
(車をいじくるのが好きでいつもやっているかたですと簡単な作業ですが、そうでない場合は、工具を使う作業については専門家に頼んで下さい。)

最近の車のリアシートの、最後までシートベルトを引き出すとカチカチカチカチと引き込まれるタイプですね?

探してもないかとは思いますが、お車によってはどこかをどうにかするとシートベルトが、チャイルドシート固定機構が外れる構造になっているかもしれません。その場合は、お車の取扱説明書に書かれている場合もあると思いますので、まずは探してみて下さい。(外車や高級車ですと、電気的に、裏コマンドで、例えば“どこかのスイッチを何回繰り返し押すとチャイルドシート固定機構が外れる。”なんてこと...続きを読む

Q例えば、AさんからGさんまでがA列に縦に並んでいてB列に数字が入っています。B列にある数字の合計をA

例えば、AさんからGさんまでがA列に縦に並んでいてB列に数字が入っています。B列にある数字の合計をA-Gさん別々に出したいんですが簡単なvbaの記述方法はないでしょうか?
お願いします。

Aベストアンサー

こんばんは!

A列のA~Gさんは複数存在しているのでしょうか?
そうであればSUMIF関数で対応できると思いますが、VBAをお望みだというコトですので
一例です。

元データはSheet1にあり、Sheet2に表示するとします。
尚、Sheet1の1行目は項目行でデータは2行目以降にあるという前提です。
標準モジュールにしてください。

Sub Sample1()
Dim lastRow As Long, wS As Worksheet
Set wS = Worksheets("Sheet2")
wS.Cells.ClearContents
With Worksheets("Sheet1")
.Range("A:A").AdvancedFilter Action:=xlFilterCopy, copytorange:=wS.Range("A1"), unique:=True
lastRow = wS.Cells(Rows.Count, "A").End(xlUp).Row
With Range(wS.Cells(2, "B"), wS.Cells(lastRow, "B"))
.Formula = "=SUMIF(Sheet1!A:A,A2,Sheet1!B:B)"
.Value = .Value
End With
End With
End Sub

こんな感じではどうでしょうか?m(_ _)m

こんばんは!

A列のA~Gさんは複数存在しているのでしょうか?
そうであればSUMIF関数で対応できると思いますが、VBAをお望みだというコトですので
一例です。

元データはSheet1にあり、Sheet2に表示するとします。
尚、Sheet1の1行目は項目行でデータは2行目以降にあるという前提です。
標準モジュールにしてください。

Sub Sample1()
Dim lastRow As Long, wS As Worksheet
Set wS = Worksheets("Sheet2")
wS.Cells.ClearContents
With Worksheets("Sheet1")
.Range("A:A...続きを読む

Qチャイルドシートの固定金具

チャイルドシートを固定するときに使う、固定金具(ロッキングクリップ)はどこで売っているのでしょうか。
ご存知でしたら教えてください。よろしくお願いします。

Aベストアンサー

お近くのオートバックス、イエローハット、ジェームスなどで売ってます。
シートベルトだけでなく、補助ベルトも使ってつけるとしっかり固定できます。

Qエクセルについてなのですが、 例えば指定の範囲内に A B B C A B C A B B C D

エクセルについてなのですが、

例えば指定の範囲内に
A B B C A B C A B B C D B D
と並んだセルからAとDの合計を出したい時はどのようにすればいいのですか?

COUNTIFSだったら複数条件を満たした数を表示するので希望とは違います。
希望はA or Dの合計を出したいのです。

Aベストアンサー

こんにちは!

COUNTIFS関数はAND条件になりますので、今回の質問には適しません。

=COUNTIF(範囲,"A")+COUNTIF(範囲,"D")
のように「A」のセル数と「D」のセル数をコツコツと足し算するのが
間違いないと思います。m(_ _)m

Qシート下にサブウーハー固定

シートの下にサブウーハーを設置したいのですが、何か良い固定方法はあるでしょうか?

Aベストアンサー

軽量化でマットをはずしたりしていないのであれば、
マジックテープの硬いほうをマットに触れる面に両面テープで
付けると、車のマットがマジックテープのやわらかいほうの役割を
するので、固定しやすいです。

QSUMPRODUCT($A$1:$A$10,$B$1:$B$10)とSUMPRODUCT($A$1:$A$10*$B$1:$B$10)

エクセルのSUMPRODUCT関数についてお尋ねします。

=SUMPRODUCT($A$1:$A$10,$B$1:$B$10)

=SUMPRODUCT($A$1:$A$10*$B$1:$B$10)
の違いは何でしょうか?
両者とも同じ答えを返しますが、いろいろ試したところ、前者は範囲内に文字列があってもそれを無視して計算し、後者は文字列があればエラーになるようですが、その理解で正しいでしょうか?
正しいとすれば、なぜでしょうか?

Aベストアンサー

こんばんは。

配列計算をしているのは言うまでもありませんが、この、SUMPRODUCT は、必ず、内部のひとまとまりから計算するという性質を持っています。ただ、VBAのように左から時系列かどうかは、言語が違いますから、分かりません。しかし、この引数は、パラメータ配列になっています。そして、その引数それぞれの有効値を調べて、それを演算出来る値かどうか調べます。

文字列を入れてもエラーにならないのは、元々、そこに注釈などを入れるために考えられたものです。値を文字列か数値かを精査して演算するように出来ています。最初、SUM関数に対し、そのように作られました。プログラムとしては、初歩的なものですが、そのアイデアは、今日まで、踏襲しているようです。このオリジナルの仕組みを考えたのは、VisiCalc の開発者、ブルックリン氏です。昔々、本で読んだことがあります。 PRODUCT関数とも共通です。3つの関数は、同じような仕様を持っています。

こちらが、本来の使い方です。

=SUMPRODUCT($A$1:$A$10,$B$1:$B$10)

つまり、
$A$1:$A$10 と $B$1:$B$10 の値を別々に取得しています。

では、
=SUMPRODUCT($A$1:$A$10,$B$1:$B$11)

とすると、なぜ、エラーが出るかというと、$B$11 に対応する数値が、NULL値(有効な値がない)だからです。それは、全体に反映させてしまいます。(理由は分かると思いますが、プログラムが途中で、エラーで止まってしまうからです)

ところが、こちらは、

=SUMPRODUCT($A$1:$A$10*$B$1:$B$10)

$A$1:$A$10*$B$1:$B$10 は、分割出来ません。したがって、この数式の中でのエラーは、そのまま、元の数式に反映されます。

ご自分で、ユーザー定義関数を作ってみれば分かります。VBAでも、同じように作ることが可能です。一度、試してみるとよいです。

こんばんは。

配列計算をしているのは言うまでもありませんが、この、SUMPRODUCT は、必ず、内部のひとまとまりから計算するという性質を持っています。ただ、VBAのように左から時系列かどうかは、言語が違いますから、分かりません。しかし、この引数は、パラメータ配列になっています。そして、その引数それぞれの有効値を調べて、それを演算出来る値かどうか調べます。

文字列を入れてもエラーにならないのは、元々、そこに注釈などを入れるために考えられたものです。値を文字列か数値かを精査して演算...続きを読む

Qお腹で固定するチャイルドシートについて

 12月に第二子が誕生する予定です。第一子は,ベビーシートとチャイルドシートが兼用になっているもの(寝かせられるタイプ)を使っていました。
 第二子の誕生に合わせて,当然もう一つ購入を考えていますが,兼用のものは高いので,下の子はお下がりを使ってもらって,上の子に新しいものを買おうと思っています。
 いまのところ,プリムキッズのようなお腹の部分で固定するタイプを考えています。ただ,肩からベルトで股まで固定するタイプに比べて,お腹のみの固定の方が,事故のときに力を受け止める場所が少ないので,体に負担がかかるのではないかと心配しています。
 国土交通省の実験サイトでは,「良」となっているので大丈夫なのでしょうが,みなさんはどう思われますか?
 また,みなさんは第二子誕生のときはどのように対応されていましたか。よろしくお願いします。

Aベストアンサー

お子さんはおいくつでしょうか?
うちの子は今3歳で、今使ってるチャイルドシート↓
http://www.coscojuvenile.com/product.asp?productID=38のベルトが目イッパイになってきた
(股下カッチンの為)事、最近お友達を乗せてあげることが増えた事等の理由からいずれ使うであろう
(最近使ってますが)ジュニアシートを購入しました。
いわゆる一般的な座台だけのジュニアシートは子供の体に直接シートベルトを装着するので、
・シートベルトが体を圧迫しないか?
・3歳の座高では微妙にシートベルトが首をかすめるのではないか?
・寝てしまった時に・・不安。
と言う不安材料があったのと、寝た時に前の台を抱えて枕代わりにしたりしてたので、前の台は必要だと
思いました。なので今まで使ってたのと同じ形(前台付)のジュニアシートにしました。
考えてらっしゃるプリムキッズも同じような前台付ですよね?

参考までに、うちの購入したジュニアシートです。↓

参考URL:http://www.coscojuvenile.com/product.asp?productID=34

お子さんはおいくつでしょうか?
うちの子は今3歳で、今使ってるチャイルドシート↓
http://www.coscojuvenile.com/product.asp?productID=38のベルトが目イッパイになってきた
(股下カッチンの為)事、最近お友達を乗せてあげることが増えた事等の理由からいずれ使うであろう
(最近使ってますが)ジュニアシートを購入しました。
いわゆる一般的な座台だけのジュニアシートは子供の体に直接シートベルトを装着するので、
・シートベルトが体を圧迫しないか?
・3歳の座高では微妙にシートベルトが首を...続きを読む

Q=IF(ISNA(VLOOKUP($A1,sheet2!$A$1:$B$12,2,FALSE)),"",VLOOKUP($A1,sheet2!$A$1:$B $

いつもお世話になってます。
以下の関数式について、お時間がありましたらどうぞご教示ください。

=IF(ISNA(VLOOKUP($A1,sheet2!$A$1:$B$12,2,FALSE)),"",VLOOKUP($A1,sheet2!$A$1:$B $12,2,FALSE))

「シート2の範囲指定した表にA1セルの値と同じ値の右隣になる値を返せ。ただし該当なき場合は空白とせよ。」

純粋になんでこのような構文になるのかが解りません。

1.ISNAってそもそもなんでしょう?
2.同じ式を繰り返すのはなぜ?
(模範式で、このように同じ式を繰り返す構文があまり無いように思えたのです。)

・参考となる他所のページがあれば教えて下さい。
・素人です。お手柔らかにお願いします。

(エクセル2003)

Aベストアンサー

1.ISNAってそもそもなんでしょう?
ISで始まる情報関数の一つで、#N/A!エラーのみを判定する関数
結果はTRUE(真),FALSE(偽)のいずれかになります。
エラー判定のIS関数には他に
ISERR:#N/A!を除くすべてのエラーを判定する関数
ISERROR:すべてのエラーを判定する関数
があります。

2.同じ式を繰り返すのはなぜ?
ISNAの判定する値がセルでなく数式の結果だからです。
A2=VLOOKUP($A1,sheet2!$A$1:$B$12,2,FALSE)
なら
A3=IF(ISNA(A2),"",A2)
ということになります。A2のように計算の為のセルを省略する為に
=IF(ISNA(数式),"",数式)のように同じ数式を2回繰り返しになってます。

Q【エクセル2003】シート保護でズームとスクロールを固定させる方法。

連続投稿すみません。お世話になってます。

シートを保護した後、シートの表示(ズーム)を変えられないようにしたいのですがどのようにすれば良いのでしょうか。70%で固定させて使ってもらいたいのです。

また、スクロールさせないようにする方法も知りたいです。

ご教示のほどよろしくお願いします。

Aベストアンサー

こんにちは。

>シートを保護した後、シートの表示(ズーム)を変えられないよう
本来、表示(ズーム)は、相手のPC環境に依存しているので、ユーザーオプションとして固定する方法はありません。

ですから、以下のように、マクロで行う方法しかありません。

標準モジュールの Auto_Open() や
ThisWorkbook モジュールの Private Sub Workbook_Open()
に、以下の中身をそっくり入れると良いです。


Sub TestZoomFixed()
'-----------------------
  '最初にシートの選択を必ずすること
  Worksheets("Sheet1").Select
  With ActiveWindow
    If .Zoom = 100 Then
      .Zoom = 70
    End If
  End With
  With Application.CommandBars.FindControls(, 925).Item(2)
    .Enabled = False
  End With
'----------------------
End Sub

終了時などに、
標準モジュールに、Sub Auto_Close() や

ThisWorkbook モジュールに
Private Sub Workbook_BeforeClose(Cancel As Boolean)
で、以下の中身を入れてあげます。

その反対は、
ズームは保存されますから、必要がなければ、コメントブロックのままにしてよいです。ただ、他のシートも同時に開いていたブックも、メニューからズームが使えなくなっています。(解決方法はあります)
'---------------------------
  Worksheets("Sheet1").Select
  'With ActiveWindow
  '  .Zoom = 100
  '  End If
  'End With
  With Application.CommandBars.FindControls(, 925).Item(2)
    .Enabled = True
  End With
'---------------------------

>スクロールさせないようにする方法

意味がはっきり分からないというか、取り違えているかもしれませんが、スクロールさせないという意味そのものは、スクロールロックをしてしまうことになるので、たぶん違うと思います。

例えば、使わない行や列を下や右端列まで選択し、

 書式-行-非表示、
 書式-列-非表示

としてしまう方法があります。その後で、

他にも、マクロで、シート・プロパテイのScrollArea というものがあって、その範囲を設定させてしまうと、範囲から外にはスクロールが出来なくなります。

例:
ThisWorkbook モジュールなどに入れてあげます。
Worksheets("Sheet1").ScrollArea ="A1:E10"

こんにちは。

>シートを保護した後、シートの表示(ズーム)を変えられないよう
本来、表示(ズーム)は、相手のPC環境に依存しているので、ユーザーオプションとして固定する方法はありません。

ですから、以下のように、マクロで行う方法しかありません。

標準モジュールの Auto_Open() や
ThisWorkbook モジュールの Private Sub Workbook_Open()
に、以下の中身をそっくり入れると良いです。


Sub TestZoomFixed()
'-----------------------
  '最初にシートの選択を必ずすること
  W...続きを読む

QエクセルでA列にある数字の合計が特定の数値を超えたらB列に合計を表示させるには

エクセルについての質問です。
以下の様なエクセルの表でA列の合計が、「10」を超える場合、B列に合計を表示させるには、B列にはどの様な関数を入れれば良いでしょうか。お教えください。
なお、最終行にも合計を表示です。

A列 B列
5
4 9
3
5 8
1
2
1
2 6

VBAを知らないため、何とか、関数で対応できると、大変、助かります。

よろしくお願いいたします。

右側の数字がB列の数字です。
解りにくくて、すみません。

Aベストアンサー

例示のようにならない。
B2セルに
=IF(OR(A3="",SUM(A$1:A3)-SUM(B$1:B1)>10),SUM(A$1:A2)-SUM(B$1:B1),"")
下へオートフィル

解決したいと思うなら、もう少し具体的な説明お願いします。
画面の取り込みは([Alt]+[)[PrintScreen]キーで、ペイント等で貼り付け、加工してください


人気Q&Aランキング