Excel(2000)で1列おきのデータを合計したいのですが、どうすればよいのでしょうか。mod、columnとかを使ってみたのですが、成功していません。お忙しいとは思いますが、ず~っと考えていますが、わかりません。よろしくお願い致します。

A 回答 (5件)

>{数式}で囲うということは、どういうことなのでしょうか?



CTRL + SHIFT + ENTER で数式を確定すると、「配列数式」という特殊な数式を作成することが出来るのです。
ヘルプで「配列数式」を調べてみるとよさそうな気はするのですが、…これを見ても内容がさっぱり理解できないのは私だけではないはずです(^^;

とりあえずキモになるのは
IF(MOD(COLUMN(A1:G1),2)=0,A1:G1,0)
の部分です。
この式の「A1:G1」を「A1」と置き換えてみてください。

IF(MOD(COLUMN(A1),2)=0,A1,0) …式1

これならば、ある程度習熟した方であれば理解できると思います。
「A1の列番号が2で割り切れたらA1の値を、そうでなければ0を返す」ですね。
つまり、式1の結果はA1の値である、という答えが出ました。

んで、今度は式1の「A1」を「B1」に変えて同様の数式を作成し、これの答えも得ます。(今度は、「0」が答えです。)

…ってのをG1のセルに至るまで繰り返し、最後に、「SUM()」でその合計を得ているわけです。
    • good
    • 0
この回答へのお礼

何度もありがとうございました.わかりました.

お礼日時:2001/05/30 20:27

>{数式}で囲うということは、どういうことなのでしょうか?


数式が配列数式と言う事になります。
配列数式については文章だけでは説明し難いので↓を参考に。

参考URL:http://hp.vector.co.jp/authors/VA014071/tips/hai …
    • good
    • 0
この回答へのお礼

何度もありがとうございました.わかりました.HPの紹介もありがとうございました.

お礼日時:2001/05/30 20:28

そぉですね。

「行」じゃなくって「列」でしたね(汗)。見間違えてました。
寝ぼけた頭でやるから、こんなことになるんですよね(^^;)
april21さん、ご指摘ありがとうです!

SUMIF()を使ったほうも、行列を入れ替えて解釈していただけたら幸いです。

2行目を作業用に使うとしたら、
A2のセルに「=MOD(ROW(),2)」って入力して、データの右端まで複写し、適当なセルに、「=SUMIF(A2:Z2,1,A1:Z1)」とでも書いてやればいいです。

この回答への補足

ありがとうございます。
できました!!!
初歩的な質問で恐縮ですが
{数式}で囲うということは、どういうことなのでしょうか?
囲うことと、囲わないこととの違い、あるいは、かこわなければいけない理由みたいなものを教えてくださると、とてもうれしいのですが。

補足日時:2001/05/29 22:10
    • good
    • 0

>1列おきのデータを合計


だから・・・・。
=SUM(IF(MOD(COLUMN(A1:G1),2)=0,A1:G1,0))
と数式バーに入力して確定するときに [Ctrl] + [Shift] + [ENTER] キーを押します 。({数式}というように数式にカッコが付きます)

A1:G1の所を合計したい範囲に変更してください。
COLUMN(A1:G1),2)=0の0を1に変えると奇数列の合計です。

ARCさんのを数式のROWをCOLUMNに変えれば良いだけです(^^ゞ

はずしてたらごめm(__)m

この回答への補足

ありがとうございます。
できました!!!
初歩的な質問で恐縮ですが
{数式}で囲うということは、どういうことなのでしょうか?
囲うことと、囲わないこととの違い、あるいは、かこわなければいけない理由みたいなものを教えてくださると、とてもうれしいのですが。

補足日時:2001/05/29 22:14
    • good
    • 0

いろいろ考えつきますが、簡単そうなのを。


A列にデータが入力してあって、B列を作業用に使うとします。

1:B1のセルに「=MOD(ROW(),2)」と入力します。
2:B1をコピーし、下のほうまで貼り付け。
3:合計を表示するセルに、「=SUMIF(B:B,0,A:A)」と入力
で完成です。「=SUMIF(B:B,1,A:A)」だと、奇数行の合計になります。
尚、この後でB列を切り取り、別のシートに貼り付けてやると、作業用のセルが目立ちません。



作業用のセルを使わないでやるとすると、
適当なセルに
=SUM(IF(MOD($A$1:$A$100,2)=0,$A$1:$A$100,0))
と入力し、[SHIFT]キーと[CTRL]キーを押しながら、[Enter]で確定してください。
(普通に[Enter]で確定すると、変な数値が表示されてしまうので、要注意です。)
ちなみに、奇数行を取得するのは、
=SUM(IF(MOD($A$1:$A$100,2)=1,$A$1:$A$100,0))
です。
    • good
    • 0

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

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

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

Qsp_columnsでデータベース名を指定できません

現在、SQLServer勉強中のものです。たびたびの質問ですいません。

sp_columnsというシステムストアドプロシージャで列情報が取得できますが、@table_nameでテーブルを、@table_ownerで所有者を指定できますよね。
さらに@table_qualifierでデータベース名を指定できると思っていたのですが、これは無理なのでしょうか。

ヘルプには「SQLServerでは、この列はデータベース名をあらわします」とあるのですが、現在、接続データベース以外のデータベースに格納されているテーブルの列情報を参照しようとすると「オブジェクト修飾子の一部になるデータベース名には、現在のデータベースを指定してください。」と表示されてしまいます。

例:TestDB1に接続してTestDB2内のテーブル指定
use TestDB1
sp_columns
@table_name=TestDB2Tbl,
@table_qualifier=TestDB2

Aベストアンサー

他のシステムストアドプロシージャの心当たりはありません。

  No.1648536 質問:列名とそのデータ型
  http://oshiete1.goo.ne.jp/kotaeru.php3?q=1648536

にあるようにsyscolumns等のシステムテーブルから自前で情報を取得するか、ODBC経由の場合は接続文字列に"DATABASE={データベース名};"を追加して任意のデータベースに接続してからテーブル情報・列情報を取得するか、あるいはOLEDB経由でデータベース情報・テーブル情報・列情報を取得するか、というところではないでしょうか。

Q1列おきに合計、a1 + c1 + e1 …

一列おきにある数値の合計を求めるにはどうしたらよいでしょうか。
A1 に B1+D1+F1 …… の合計を求めたいのです。
C2、E2など合計したくないセルにも数値が入っています。

実際にはデータが一行につきデータが数十から200ぐらいあります。

 A B C D E F

Aベストアンサー

n列おきですので、
=SUM(IF(MOD(COLUMN(B1:Z1),2),0,B1:Z1))
Ctrl+Shift+Enterで決定します。
仮に、2行目(B2)に =IF(MOD(COLUMN(B1),2),0,B1) と入れて右へコピィします。
2とびに1行目の数字と0が繰り返し表示されます。
その結果をB~Z列まで実行して、その結果の SUMということです。

Q「Columns("A:C")」の列文字を数字にして表記したい

こんばんは。早速ですが質問します。

『Columns("A:C").ColumnWidth = 3』

の("A:C")の部分(列文字)を数値にしたいのですが

『Columns(1 & ":" & 3).ColumnWidth = 3』
だと
「アプリケーション定義またはオブジェクト定義のエラーです。」になります。

『Columns(1).ColumnWidth = 3』

ならエラーになりません。
どうやって数字で表示すればいいでしょう?
よろしくお願いします。

Aベストアンサー

こんばんは。

私も、前々から、これに関しては疑問に感じていました。
それは、VBAのワークシートの引数の元のソース部分は、数値処理なのに、Columns は、文字によって入れることに成り立ちます。確かに、変数として扱うには、"A:C" は上手くないのは同感です。Columnsの引数は、index で、Rows との整合性がなくてはならないのに、その統一が取れていません。これは、設計上のミスかもしれません。

最初に、test1 の場合。

Sub test1()
 With ActiveSheet
  .Range(.Columns(1), .Columns(3)).Select
 End With
End Sub

このような形は、一般的ではありません。それは、Rangeの内部の引数にオブジェクトを入れるということは、納まりがよくないからです。基本的に、親オブジェクトから、プロパティとして一続きなっていなければなりません。

Sub test2()
 With ActiveSheet
  .Cells(1, 1).Resize(, 3).EntireColumn.Select
  'Cells(1, 1).Resize(, 3).ColumnWidth = 20 '列幅を20にする
 End With
End Sub

そこで、数値処理する場合は、こういう形にするしかないのかなって思います。

こんばんは。

私も、前々から、これに関しては疑問に感じていました。
それは、VBAのワークシートの引数の元のソース部分は、数値処理なのに、Columns は、文字によって入れることに成り立ちます。確かに、変数として扱うには、"A:C" は上手くないのは同感です。Columnsの引数は、index で、Rows との整合性がなくてはならないのに、その統一が取れていません。これは、設計上のミスかもしれません。

最初に、test1 の場合。

Sub test1()
 With ActiveSheet
  .Range(.Columns(1), .Columns(3)).Se...続きを読む

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]キーで、ペイント等で貼り付け、加工してください

Qcomment on columnについてわからなくて困っています。

CREATE TABLE の中で各列にコメントをつける方法はありますか?

できなければ、以下の方法では、
ORACLE Express EditionのSQL実行で、
下記のコメントを一行ずつしか実行できないのですが、
1回で実行する方法はありますか?

□作りたいテーブル

CREATE TABLE DB_USER_MST (
DB_USER_IDVARCHAR2(5)NOT NULL,
DB_PASSWORDVARCHAR2(5),
DB_NAMEVARCHAR2(30),
DB_POSTCODENUMBER(7),
DB_PREFECTURE_IDNUMBER(2),
DB_ADDRESSVARCHAR2(100),
DB_TELEPHONENUMBER(11),
DB_SEXNUMBER(1),
PRIMARY KEY (DB_USER_ID)
)



□付けたいコメント

COMMENT ON COLUMN DB_USER_MST.DB_USER_IDIS 'お客様ID'
COMMENT ON COLUMN DB_USER_MST.DB_PASSWORDIS 'パスワード'
COMMENT ON COLUMN DB_USER_MST.DB_NAMEIS 'お名前'
COMMENT ON COLUMN DB_USER_MST.DB_POSTCODEIS '郵便番号'
COMMENT ON COLUMN DB_USER_MST.DB_PREFECTURE_IDIS '県ID'
COMMENT ON COLUMN DB_USER_MST.DB_ADDRESSIS 'ご住所'
COMMENT ON COLUMN DB_USER_MST.DB_TELEPHONEIS 'お電話番号'
COMMENT ON COLUMN DB_USER_MST.DB_SEXIS '性別'

CREATE TABLE の中で各列にコメントをつける方法はありますか?

できなければ、以下の方法では、
ORACLE Express EditionのSQL実行で、
下記のコメントを一行ずつしか実行できないのですが、
1回で実行する方法はありますか?

□作りたいテーブル

CREATE TABLE DB_USER_MST (
DB_USER_IDVARCHAR2(5)NOT NULL,
DB_PASSWORDVARCHAR2(5),
DB_NAMEVARCHAR2(30),
DB_POSTCODENUMBER(7),
DB_PREFECTURE_IDNUMBER(2),
DB_ADDRESSVARCHAR2(100),
DB_TELEPHONENUMBER(11),
DB_SEXNUMBER(1),
PRIMARY KE...続きを読む

Aベストアンサー

1クエリで、という事なら無理です。
各クエリの末尾にセミコロン付けて、SQL/Plusに一気に貼り付けるのはダメなのでしょうか?

COMMENT ON COLUMN DB_USER_MST.DB_USER_ID IS 'お客様ID';
COMMENT ON COLUMN DB_USER_MST.DB_PASSWORD IS 'パスワード';
COMMENT ON COLUMN DB_USER_MST.DB_NAME IS 'お名前';
COMMENT ON COLUMN DB_USER_MST.DB_POSTCODE IS '郵便番号';
COMMENT ON COLUMN DB_USER_MST.DB_PREFECTURE_ID IS '県ID';
COMMENT ON COLUMN DB_USER_MST.DB_ADDRESS IS 'ご住所';
COMMENT ON COLUMN DB_USER_MST.DB_TELEPHONE IS 'お電話番号';
COMMENT ON COLUMN DB_USER_MST.DB_SEX IS '性別';

1クエリで、という事なら無理です。
各クエリの末尾にセミコロン付けて、SQL/Plusに一気に貼り付けるのはダメなのでしょうか?

COMMENT ON COLUMN DB_USER_MST.DB_USER_ID IS 'お客様ID';
COMMENT ON COLUMN DB_USER_MST.DB_PASSWORD IS 'パスワード';
COMMENT ON COLUMN DB_USER_MST.DB_NAME IS 'お名前';
COMMENT ON COLUMN DB_USER_MST.DB_POSTCODE IS '郵便番号';
COMMENT ON COLUMN DB_USER_MST.DB_PREFECTURE_ID IS '県ID';
COMMENT ON COLUMN DB_USER_MST.DB_ADDRESS IS 'ご住所';
COMMENT ON C...続きを読む

QA列~E列の合計数をF列に表示させる。

どなたかご存じでしたらご回答をお願いします。
【質問】
下記のVBAを実行すると、「異なる 25個のものから 5個を選ぶ組み合わせ
の総数 nCr (53,130通り)」を作成します。A列~E列の合計をF列に表示させるには
下記VBAのソースはどのように修正すればよいでしょうか?
教えてください。

●VBAソース

Sub test()

Const MaxNum = 25
Dim s(25) As String
s(1) = "1"
s(2) = "2"
s(3) = "3"
s(4) = "4"
s(5) = "5"
s(6) = "6"
s(7) = "7"
s(8) = "8"
s(9) = "9"
s(10) = "10"
s(11) = "11"
s(12) = "12"
s(13) = "13"
s(14) = "14"
s(15) = "15"
s(16) = "16"
s(17) = "17"
s(18) = "18"
s(19) = "19"
s(20) = "20"
s(21) = "21"
s(22) = "22"
s(23) = "23"
s(24) = "24"
s(25) = "25"

Dim i, j, k, l, m

Dim rowX As Long
rowX = 1

rowX = rowX + 1

For i = 1 To MaxNum - 4
For j = i + 1 To MaxNum - 3
For k = j + 1 To MaxNum - 2
For l = k + 1 To MaxNum - 1
For m = l + 1 To MaxNum
Cells(rowX, 1).Value = s(i)
Cells(rowX, 2).Value = s(j)
Cells(rowX, 3).Value = s(k)
Cells(rowX, 4).Value = s(l)
Cells(rowX, 5).Value = s(m)
rowX = rowX + 1
Next m
Next l
Next k
Next j
Next i

End Sub

●現在のVBAの実行結果
A     B     C     D    E 
1     2     3     4     5
1     2     3     4     6
1     2     3     4     7
1     2     3     4     8
1     2     3     4     9
1     2     3     4     10
1     2     3     4     11
1     2     3     4     12
1     2     3     4     13
1     2     3     4     14
           :
           :
20    21    22     24    25
20    21    23     24    25
20    22    23     24    25
21    22    23     24    25


●VBA実行結果(F列:A列~E列の合計) <- やりたいこと
A    B     C     D    E     F
1     2     3     4     5     15     
1     2     3     4     6     16     
1     2     3     4     7     17
1     2     3     4     8     18
1     2     3     4     9     19
1     2     3     4     10     20
1     2     3     4     11     21
1     2     3     4     12     22
1     2     3     4     13     23
1     2     3     4     14     24
           :
           :
20    21    22     24    25     112
20    21    23     24    25     113
20    22    23     24    25     114
21    22    23     24    25     115
 

【注意事項】
  ・使用するエクセルは2010です。

以上、よろしくお願いします。

どなたかご存じでしたらご回答をお願いします。
【質問】
下記のVBAを実行すると、「異なる 25個のものから 5個を選ぶ組み合わせ
の総数 nCr (53,130通り)」を作成します。A列~E列の合計をF列に表示させるには
下記VBAのソースはどのように修正すればよいでしょうか?
教えてください。

●VBAソース

Sub test()

Const MaxNum = 25
Dim s(25) As String
s(1) = "1"
s(2) = "2"
s(3) = "3"
s(4) = "4"
s(5) = "5"
s(6) = "6"
s(7) = "7"
s(8) = "8"
s(9) = "9"
s(10) = "10"
s(11) = "11"
s(12) = ...続きを読む

Aベストアンサー

単純にCells(rowX, 5).Value = s(m)の後に、以下のコードを追加するだけで良いのではないでしょうか?

Cells(rowX, 6).Value = Application.WorksheetFunction.Sum(s(i), s(j), s(k), s(l), s(m))

Q【至急】COLUMNについて・・・

万年カレンダーを作成する事になり以下の関数の解説を
しなければならなくなりました。。。
万年カレンダー作成者の説明では理解できず、
解説をしようにも出来ません。

その関数とやらがこれです。

=IF(MONTH(DATE($B$4,$B$5,1)+COLUMN()-COLUMN($F$7))=$B$5,COLUMN()-COLUMN ($F$7)+1,""

足りない頭で考えまくって出した答えが
「簡単に言うと、COLUMN関数は、【何列目であるか】を求める関数です。
【+COLUMN()-COLUMN($F$7)】これはDATE関数で求めた(年,月,日)がどの
場所からスタートするのかの基準を表します。
この場合、F列の7行目にDATEが始まる。ということになります。
その後に続く【=$B$5,COLUMN()-COLUMN($F$7)+1,""】は
左上の月の部分(今回であれば2月)に+1つきされると3月になるが、
その場合は表示しない。という意味になります。
因みに、【""】とは空欄(表示しない)という意味です。」

と解説したところ、全然違うとのこと・・・。
これ以上上手く説明出来る自信が有りません・・・・。
関数が得意な方、どうかお助け下さい!!!

万年カレンダーを作成する事になり以下の関数の解説を
しなければならなくなりました。。。
万年カレンダー作成者の説明では理解できず、
解説をしようにも出来ません。

その関数とやらがこれです。

=IF(MONTH(DATE($B$4,$B$5,1)+COLUMN()-COLUMN($F$7))=$B$5,COLUMN()-COLUMN ($F$7)+1,""

足りない頭で考えまくって出した答えが
「簡単に言うと、COLUMN関数は、【何列目であるか】を求める関数です。
【+COLUMN()-COLUMN($F$7)】これはDATE関数で求めた(年,月,日)がどの
場所からスタートするのかの基準を表し...続きを読む

Aベストアンサー

回答No.1ですが,解答で示した数式に誤記がありました。


訂正:
私ならF7に
=IF(MONTH(DATE($B$4,$B$5,COLUMN(A7)))=$B$5,DATE($B$4,$B$5,COLUMN(A7)),"")
と記入し,表示形式のユーザー定義で
d
を設定して使います。

ついでにF8に
=TEXT(F7,"aaa;;;")
を記入して,右にコピーします。


#参考
COLUMN(A7)
で,F列には「1」を計算します 右にコピーすることで,2,3,4…を計算します
DATE($B$4,$B$5,COLUMN(A7))
で,F列には年/月/1日を,G列には年/月/2日…をそれぞれ計算します
表示形式によって,その日付から「日」だけを表示します
MONTH(DATE($B$4,$B$5,COLUMN(A7)))によって,各列の年/月/日の月を計算し,それが所定の月ではない列では""を計算します

一つ下のセルでは,各年/月/日の曜日文字列を計算します。一つ上のセルで年月日を計算していない(空白を計算している)セルでは,空白にします。


失礼しました。

回答No.1ですが,解答で示した数式に誤記がありました。


訂正:
私ならF7に
=IF(MONTH(DATE($B$4,$B$5,COLUMN(A7)))=$B$5,DATE($B$4,$B$5,COLUMN(A7)),"")
と記入し,表示形式のユーザー定義で
d
を設定して使います。

ついでにF8に
=TEXT(F7,"aaa;;;")
を記入して,右にコピーします。


#参考
COLUMN(A7)
で,F列には「1」を計算します 右にコピーすることで,2,3,4…を計算します
DATE($B$4,$B$5,COLUMN(A7))
で,F列には年/月/1日を,G列には年/月/2日…をそれぞれ計算します
表示形式...続きを読む

QエクセルでA列の数値にB列以降の列の数値を乗じて各列の最終行に合計を出したい

エクセルで集計をしたいのです。
うまく説明できませんが教えてください。
列数が100列以上ある集計表です

A列の1~20行の固定した数値にB列~100列以上の1~20行の各列の数値を乗じてそれぞれの列の合計をそれぞれの列の21行目に出したいのですがどうしたらいいか教えてください。

Aベストアンサー

B21に
=SUMPRODUCT($A$1:$A$20,B1:B20)
とします。後は横にコピーします。

Qthree column theory anterior middle column の読み方と意味

three column theory
anterior
middle column
の読み方と意味を教えてください。

Aベストアンサー

three column theory スリー カラム シオリー
三本の柱理論

anterior アンテリア
前柱

middle column ミドル カラム
中柱

Q1列おきの単価×数量を合計する方法

   A    B    C    D    E    F  ・・・
1  品名1 数量1  単価1 品名2 数量2 単価2・・・単価30
2 リンゴ  1    100    梨    2    300  

上記の様な表があります。
2行目の金額を計算する場合通常でしたら
=B2*C2+E2*F2・・・
という計算式と使用しますが、
品名が30を超える場合もあるので、上記の計算式では足していくのが非常に大変です。
数量×単価を、簡単にかけてくれる計算式はありますでしょうか??
MODやCOLUMNを使用して色々試してみたのですが、わからなかったので教えて下さい・・・
宜しくお願い致します。

Aベストアンサー

=SUMPRODUCT(ISTEXT($A$2:$FS$2)*1,($B$2:$FT$2),($C$2:$FU$2))
これで出来ませんか?


人気Q&Aランキング

おすすめ情報