[[20070123200457]] 『1つ置きに合計』(007hennakibun) >>BOT

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『1つ置きに合計』(007hennakibun)
以下のGとHを自動計算させるのにG=SUM(A1,C1,E1)とF=SUM(B1,D1,F1)とやっていたのですが、A〜Fの列が20列ぐらいに増え、まだまだ増えそうです。入力が大変です・・・
何かいい方法を教えてください。

  A B C D E F  G  H
1 5 7 6 3 4 1 15 11

簡単な事なのかも知れませんが、宜しくお願いします!
(過去ログも調べたのですがそれらしいのが見つけられず・・・)


 おき 合計
 で過去ログ検索したらヒットしました。

[[20051205134103]]『一マスとばして合計だすには』(ばか)

 (MARBIN)

 なお、↑のリンクは行ですが、列でも考え方は同じです。
 (MARBIN)

 衝突×2!
 せっかく書いたので、、、列バージョンです。
 G1=SUMPRODUCT((MOD(COLUMN($A1:$H1),2)=MOD(COLUMN(),2))*$A1:$H1)
 右にフィルコピーでどうでしょうか。
 (ROUGE)

早速の回答有難う御座います!
(MARBIN)さん面目ない・・・「1個おき」とか「1つ飛ばし」とか、いろいろやったつもりでしたが、ボキャブラリーに乏しく・・・
(ROUGE)さんサンキュウです。出来ました。
皆さんに甘えて、もう一ついいですか?
実は、例の表では、数値が0のときは、セルに「―(全角ダッシュ)」を入力しています。SUMだと問題ないのですが、(ROUGE)さんの数式では、エラーになってしまいます。今は、とりあえず0と入力することで出来たので良し!とする事にしたのですが、何か方法あるのでしょうか?(今までのヤツが、「―」なのでヤッパリそろえたい・・・)。


 こんばんは〜♪

 後から失礼しま〜す。。。♪

 >セルに「―(全角ダッシュ)」を入力しています。
 >SUMだと問題ないのですが、(ROUGE)さんの数式では、エラーになってしまいます。

 (ROUGE)さんではありませんが〜。。。

 =SUMPRODUCT((MOD(COLUMN($A1:$H1),2)=MOD(COLUMN(),2))*SUBSTITUTE(A1:H1,"−",0))

 で、いかがでしょうか?

 。。。Ms.Rinでした〜♪♪


Ms.Rinさん、ア〜リガトッウ〜♪♪

ところがっ!#VALUE!!になってしまいます!!!

この数式の意味を調べてみたのですが、これで問題ないように思います・・・なんでだろう?

セルの書式を何かしないといけないのでしょうか? 


こんにちは。

お邪魔します。m(__)m

 >GとHを自動計算させる
 だから

=SUMPRODUCT((MOD(COLUMN($A1:$F1),2)=MOD(COLUMN(),2))*ISNUMBER($A$1:$F$1),$A$1:$F$1)

かな?(boy)


(boy)さん、今晩は。m(__)m

こんな方法もあるんですね!

しか〜し!$A1:$H1 → $A1:$F1は、なんとか自分で気づき、今やっている表に適した数列としたのですが・・・セルに「―(全角ダッシュ)」を入力した場合が、どうしても旨くいかない・・・


こんにちは。

 >どうしても旨くいかない・
 どううまくいかないのでしょう?

 こちらでは 007hennakibunさんの画面は見る事が出来ないので
 どんな「エラー」なのか?
 求める答えと違う答えが返ってくるのか? がわかりません。

 「#VALUE!」ですか?

 その辺を教えてください。(boy)

 Rinです

 boyさん
 こんばんは〜♪

 ISNUMBER使えば良かったですね。。。

 >どうしても旨くいかない・

 こちらは、お願いしま〜す。。。Ms.Rin


衝突しました!

boyさん、言葉が足りず申し訳ない。「#VALUE!」です!!!

作成している表では、数値が0のときは、セルに「―(全角ダッシュ)」を入力しています。その欄(セル)が、最初から計算の対象外の場合に「―」を入力しています。「0」ではなく、最初から存在しない・・・って、意味不明ですかね?

「0」と入力すれば事は済むんですけど・・・今までのヤツが、「―」なのでヤッパリそろえたい!(細かいとこが気になるたちでして・・・)

Rinさん、見捨てないで〜


こんにちは。

Rinさん、どうも(^^ゞ

007hennakibunさん

 >「#VALUE!」です!!! 
 おかしいですね?

 ISNUMBERをかませて「数値」以外のセルは合計の対象外にしています。
 なので・・範囲内に「―」が入力されていても「#VALUE!」にはならない筈なのですが・・・

 実際に入力されている数式を数式バーからコピペ出来ますか?(boy)


 >Rinさん、見捨てないで〜 

 他の回答していましたので〜。。。

 私の式でも良かったですが
 boyさんの式は、文字列を計算しませんから。

 >boyさん、言葉が足りず申し訳ない。「#VALUE!」です!!! 

 こうならないはずですけれど。

 なんでだろう?

	A	B	C	D	E	F	G	H
[1]	−	1	2	3	4	5	6	7

 こんな風にして、新規ブックで
 boyさんの式を試してみてください。

 12 になりませんか?

 。。。Ms.Rin


 追伸で〜す。。

 boyさんの式よく見なかったので

 boyさんの式は、
 奇数列のセルに入れると 奇数列の合計
 偶数列のセルに入れると 偶数列の合計

 になります。
 「#VALUE!」とは、関係ないですけど。。。

 。。。Ms.Rin

 
       


衝突しました!×2

boyさん、これです。

=SUMPRODUCT((MOD(COLUMN($A1:$F1),2)=MOD(COLUMN(),2))*SUBSTITUTE($A$1:$F$1,"−",0))

って、よく見たら、「#VALUE!」の所は、Rinさんの書式のままでした。boyさんの

=SUMPRODUCT((MOD(COLUMN($A1:$F1),2)=MOD(COLUMN(),2))*ISNUMBER($A$1:$F$1),$A$1:$F$1)

を適用すべき欄に入力したら問題なく出来ました!これで、ゆっくり寝れます。遅くまで付き合っていただいて有難う御座いました。

あぁ!Rinさんだ!!また来てくださって有難う御座います。boyさんの書式でいくことにしました。また、何かあったら質問しますので、よろしくお願いします。

※このサイトは、以前にも利用した事があり、久しぶりに来て見たのですが、対応の速さといい、初心者の意味不明な質問にも回答してくださったり・・・皆さんいい人ばっかりだ・・・感謝です!(007hennakibun 改め 007iikibun)


何度もすみません

 質問は、A1〜F1 までの計算なんですね。
 A1〜H1とカン違いしていました。

	A	B	C	D	E	F	G	H
[1]	−	1	2	3	4	5	6	8

 この合計を G1 と H1に出すんですよね。

 boyさんの式を G1に入れて 右にコピー。

 でした。。。MsRin

 解決して良かったですね。。。


 解決後ですが
 SUMで計算できるのであればISNUMBERは必要ないのでは(*1でいいのでは)

 =SUMPRODUCT((MOD(COLUMN($A1:$F1),2)=MOD(COLUMN(),2))*1,$A$1:$F$1) 

 By しげちゃん

こんにちは。

 >SUMで計算できるのであればISNUMBERは必要ないのでは(*1でいいのでは)
 確かに・・・(^^ゞ

 しげちゃんさん、ありがとうございます。m(__)m

しげちゃんさん、こんばんは!007iikibunです。

これでも可能なんですね!あの〜お願いなんですが、(*1)だけで、良いと言う意味を教えてください。


ところで!!!Rinさんから教えていただいた下の書式

=SUMPRODUCT((MOD(COLUMN($A1:$F1),2)=MOD(COLUMN(),2))*SUBSTITUTE($A$1:$F$1,"−",0))

もう一度よく見たら、"−"の所を"―"としたら、旨くいきました!!!マイナスとダッシュの違いでした。Rinさんからの回答をコピペで数式バーに貼り付けていて、気付きませんでした。


 こんな感じでもいいかな
 =SUMPRODUCT(MOD(COLUMN($A1:$F1)+COLUMN()+1,2),$A$1:$F$1) 

 別解として
 奇数列
 =SUMPRODUCT(MOD(COLUMN($A1:$F1),2),$A$1:$F$1) 
 偶数列
 =SUMPRODUCT(MOD(COLUMN($A1:$F1)+1,2),$A$1:$F$1) 

 >(*1)だけで、良いと言う意味を教えてください。 
 SUMPRODUCT関数の第1引数
 (MOD(COLUMN($A1:$F1),2)=MOD(COLUMN(),2)
 は論理演算ですのでTRUE、FALSEと言う論理値になり、
 SUMPRODUCTは 論理値、文字を無視して計算します。
 計算するためにはTRUE、FALSEを数値化必要があり(*1)します。

 ISNUMBERを使用した式は上記の答えであるTRUE、FALSEと
 ISNUMBERの答えTRUE、FALSEをかけ算(四則演算)することで数値化しています。

 ISNUMBERを使用した式では文字が入力されたセルの値は0になりますが、
 (*1)した方の場合は0になるとは限りません。
 二つの式にはこのような違いがあります。

 一方SUMPRODUCT関数は論理値、文字を無視して計算しますので
 第2引数 $A$1:$F$1(ISNUMBERで調べたものと同じ)の範囲にある
 文字は無視されますので、同じ結果となります。

 説明がわかりにくいと思いますが、お許し下さい

 By しげちゃん

しげちゃんさん、こんばんは!007iikibunです。

別解は、スッキリした数式になりましたね。これを使わせていただきます。

 >TRUE、FALSEをかけ算(四則演算)することで数値化

なるほどー!! 文字*1=0 → 文字が0という数字になったから「#VALUE!」にはならない!ってことですかな!?もっと勉強しておきます。有難う御座いました。


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.