人に聞けない痔の悩み、これでスッキリ >>

エクセルで 横に60行~のセルデータがあるのですが、その内、1行おきに空白でないセルの数を数えたいのですが、
COUNT(A1,C1,E1,・・・・・とすれば出るわけですが、それでは式があまりにも長くなってしまうので、何か上手い方法があれば教えていただきたく、よろしくお願いします。

A 回答 (4件)

奇数カラムに値があるセルを数えるのは以下の式になります。

範囲は適当に変えてください

=SUMPRODUCT((A1:BZ1<>"")*MOD(COLUMN(A1:BZ1),2))
    • good
    • 3
この回答へのお礼

有難う御座いました。おかげさまで表が完成しました。

お礼日時:2006/07/22 17:33

>COUNT(A1,C1,E1,・・・・・とすれば出るわけですが



これって、一列置きではありませんか?

横に60行~?
60列までなら、以下のようになりますね。

奇数列
=SUMPRODUCT(MOD(COLUMN(A1:BH1),2)*(A1:BH1<>"")*1)

偶数列
=SUMPRODUCT((MOD(COLUMN(A1:BH1),2)=0)*(A1:BH1<>"")*1)

もし、行の場合は、COLUMNのところを、ROWに換えます。
    • good
    • 1
この回答へのお礼

その通りです。でも、おかげさまで縦にも横にも出来る様になりました有難うございました。

お礼日時:2006/07/22 17:31

一列、または一行おきに合計する関数ならびに説明は


下記URL参照してくださいね。

参考URL:http://www.eurus.dti.ne.jp/~yoneyama/Excel/ex-q- …

この回答への補足

有難う御座います。
1行おきに、合計ではなく、データの入ったセルの数を数えたいのですが、

補足日時:2006/07/22 13:38
    • good
    • 1

一行おきの範囲にあらかじめ名前を付けておけばよろしいのでは?

この回答への補足

早速の回答有難う御座いました、
質問内容が舌足らずでした。同一データが300件近くあるので・・・・、全てに名前をつけるのも大変な様で、申し訳ありません、他に方法がありましたら、よろしくお願いします。

補足日時:2006/07/22 13:30
    • good
    • 0

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

このQ&Aを見た人はこんなQ&Aも見ています

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

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

Q(EXCEL)一行おきのCOUNTA

範囲内の一行おきを参照して、COUNTAをしたいんですけど
いまいちうまくいきません。

一行おきのSUMや、COUNTなら検索でヒットて、
そこから考えていろいろやってみたのですが。。。
見当違いの値が出てしまいました。

どうかよろしくお願いします。

Aベストアンサー

>COUNTA
データが入力されているかどうか、ということですね

奇数行
=SUMPRODUCT((MOD(ROW(A1:A20),2)=1)*(A1:A20<>""))

偶数行
=SUMPRODUCT((MOD(ROW(A1:A20),2)=0)*(A1:A20<>""))

でいかがでしょう

Q行を飛ばして検索条件にあう個数を数えたい

次の表のように 1、2、4、5行 のみの ○ の個数を数えようと COUNTIF関数を使ってみますが上手くいきません。教えて下さい。
       A   B   C
  1    ○   ○  ×
  2    ×   ○  ○
  3    ○   ×  ○
  4    ○   ○  ×
  5    ×   ○  ○
  6    ○   ×  ×
   

Aベストアンサー

ちょっと意味が良く解りませんが、、、
対象範囲が2つあるなら足してやれば良いのでは?

=COUNTIF(A1:C2,"○")+COUNTIF(A4:C5,"○")

QExcelで飛び飛びのセルにある文字をカウントする

jcb3092と申します、教えて下さい。

Excel2002を使用しています

飛び飛びに離れた場所のセルに入っている特定の文字

例えば"○""×""△"等を指定してカウントする関数がありまし

らご教授頂けますようお願い申し上げます。

Aベストアンサー

関数と、ちょっとした応用で可能です。

カウントしたいセルを全部選択して、範囲名を設定する。
でもって、COUNTIF関数でカウントさせる。

例:
 A1:A5セル、B4セル、C1:D10セルを Ctrlキーを押しながら選択する。
 「名前ボックス」に "積算範囲" と入力し、選択した範囲に名前を定義付ける。
 =COUNTIF(積算範囲,"○")
 などと関数を入力する。

※ 名前ボックスは、A1セルを選択すると左上に A1 と表示される場所です。

定義付けした範囲名は、
 挿入 → 名前 → 定義
で編集できます。

Qエクセルで連続データから、数個飛ばしのデータを抜き取る方法

  A  B
1 a1
2 a2
3 a3
4 a4
5 a5
・・・・・
のような表において、
Bの列にB1=a1、B2=a3、B3=a5
のような2個飛ばしのデータを連続で抜き取る方法はありますでしょうか。
A列が3000行ほどあり手打ち入力がしんどいです。
OFFSET関数を使ってもうまく連続コピーされません。
どなたかご教授願います。

Aベストアンサー

OFFSET関数利用でもよいが、INDEX関数のほうが普通かな。
=INDEX($A$1:$A$100,(ROW()-1)*2+1,1)
100はデータ数が多い場合はデータ行数に変える。
例データ A1:A5
a1
a2
a3
a4
a5
B1に上記。データ数の半数の行数を複写。
結果
a1
a3
a5

Q○列おきの数字を合計する

  現在エクセル2003を使用しています。
 先日エクセルで集計表を作成している時に2列おき、3列おきの数値を合計する必要があり
 「教えて!goo」の回答をいろいろ確認しましたが、3列おきは確認できませんでした。
  一つ一つセル番地を選んで合計すれば出来ますが、列数が多い時は大変です。今後、4列おき・
 5列おき・○列おきを合計する表の作成が必要になるかもしれません。
  ぜひお知恵をお貸し下さい。

Aベストアンサー

#2です。
B5=SUMPRODUCT((MOD(COLUMN(E5:N5),3)=2)*(E5:N5))
C5=SUMPRODUCT((MOD(COLUMN(E5:N5),3)=0)*(E5:N5))
でできるはずです。

QエクセルのIF関数で、文字が入力されていたならば~

エクセルのIF関数で文字が入力されていたならば~、という論理式を組み立てたいと思っています。

=IF(A1="『どんな文字でも』","",+B1-C1)

A1セルに『どんな文字でも』入っていたならば、空白に。
文字が入っていなければB1セルからC1セルを引く、という状態です。

この『どんな文字でも』の部分に何を入れればいいのか教えてください。

またIF関数以外でも同様のことができれば構いません。

宜しくお願いします。

Aベストアンサー

=IF(ISTEXT(A1),"",B1-C1)

でどうでしょうか?

Q【Excel】4つとばしで合計する方法

たとえば、
A4セルからA8・A12・・・A96
と言う具合にA4から4つ毎の合計を計算したいとします。
私は関数が思い浮かばず、
=A4+A8+A12+・・・+A96
と入力してしまうのですが、簡単に集計する方法があれば教えてください。

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

Aベストアンサー

=SUMPRODUCT((MOD(ROW(A1:A96),4)=0)*(A1:A96))

・・・これでイイかな?
(確認していませんので適宜修正してください。というか全く使えないかも)

ROW関数で指定したセルの行番号を取得、
それをを4で割った余り(MOD関数)が
0であれば、1
0でなければ、0
その行に対応するセル内の数値を掛けて積算
(この辺りは「絵を描いて」「目で見て」確かめながら読んでください)


>=A4+A8+A12+・・・+A96
これは参照元のセルの個数が多すぎて、Excel2003以前では使えないことがありますね(32個まで)
よく分からないときには作業用の列を用意し、そこに数値を出すようにして
その列で積算するなどの処置をしてみましょう
難しく考えなくても簡単な方法で対処できるのであれば、それだって正解ですからね
(他の人に聞いて回答を待つ間にできてしまうこともあります)


#あとはSUMIF関数を使って答えてくれる人が現れることに期待

QEXCELで一行おきの平均を関数で求めたい。

ずばりタイトルに書いたとおりです。

Aベストアンサー

こんにちは

○A1:A10の奇数行の平均

=AVERAGE(IF(MOD(ROW(A1:A10),2),A1:A10,"")) をCtrl+Shift+Enterで入力

○A1:A10の偶数行の平均

=AVERAGE(IF(MOD(ROW(A1:A10),2)=0,A1:A10,"")) をCtrl+Shift+Enterで入力

でいかがでしょうか?

参考URL:http://www2.odn.ne.jp/excel/

QEXCEL 1つ飛ばしのセル参照

A1には「=B1」
A2には「=B3」
A3には「=B5」・・・
というように、参照先の列を1つ飛ばしにしていく場合、
簡単にコピーしてA列を作る方法を教えてください!!

Aベストアンサー

>A1には「=B1」
>A3には「=B2」
>A5には「=B3」であればどうなりますか?

A2、A4・・・は空白という意味であれば、A1に
 =IF(MOD(ROW(),2)=1,INDIRECT("B"&INT(ROW()/2)+1),"")
下方にフィルコピー

QSUMIF関数で、「ブランク以外を合計」を指定したい

SUMIF(範囲,検索条件,[合計範囲])
の、検索条件部分に、
「セル内に数字、文字をとわず、とにかく何か入力されていたら合計する」
といった意味合いの条件を指定したいのですが、その方法がわかりません。

画像で説明させていただくと、
A2のセルにSUMIF関数を用いて、
文字が入力されているc,d,e列の数値を合計し、
90という結果が欲しい、ということです。

どなたかご教授をお願いいたしますm(__)m

Aベストアンサー

こんばんは。

なんか皆さん難しく考えすぎのような・・・
SUMIF関数でできますよ。検索条件を空白以外とすればいいだけです。
=SUMIF(B2:F2,"<>",B1:F1) でできます。


人気Q&Aランキング