• ベストアンサー

関数を教えてください

B1~F1のセルに入力した数字の合計をA1のセルに集計するとします。 Cの列を表示しないとすると、もちろんA1のセルには、 C1に入力してある数字も合計されてしまいますが、 表示しないときはA1の合計に含めない、表示する時はA1の合計に含める という風にしたいのですが、その場合A1の関数を教えて下さい。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.8

参考URLのリンク先を試されてみてはいかがでしょうか? 自分で試してみたら上手くいきました。 (Excel2003)

参考URL:
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1210314692?fr=rcmd_chie_detail
hiro_o463
質問者

お礼

関数入力してみたところうまくいきました♪ ありがとうございます、一番分かりやすい回答でした。

すると、全ての回答が全文表示されます。

その他の回答 (7)

回答No.7

フィルタは行は無理ですので縦横を逆にしてからやられてみては? コピーして形式を選択して貼り付けで行列入替で縦横を入れ替えて試されては?

すると、全ての回答が全文表示されます。
回答No.6

表示する物しない物をオートフィルタで選択した場合に有効になります。 大変失礼致しました。

hiro_o463
質問者

補足

度々すみません。 オートフィルタは、列のA~Fにはつけられるのですが、 行(縦の数字)にもつけられますか?

すると、全ての回答が全文表示されます。
  • naoja
  • ベストアンサー率9% (2/21)
回答No.5

追加回答です。 任意のセルが非表示の場合にも対応できます。 A1  =SUMIF(B2:F2,">0",B1:F1) B2 =CELL("width",B1) C2 =CELL("width",C1) D2 =CELL("width",D1) E2 =CELL("width",E1) F2 =CELL("width",F1) この場合も、CELL関数が自動更新してくれないみたいでして、 「再計算実行」を手動で行う必要があります。

すると、全ての回答が全文表示されます。
  • lul
  • ベストアンサー率41% (10/24)
回答No.4

関数では無理な気がします。 例えばセル"A1"には =keisan(B1:F1) と入力して、別途Functionを作れば出来ますよ。 Function keisan(objRange As Range) As Long Dim r As Range For Each r In objRange If Not Columns(r.Column).Hidden And IsNumeric(r) Then keisan = keisan + r Next End Function こういうのはダメですか?

すると、全ての回答が全文表示されます。
  • naoja
  • ベストアンサー率9% (2/21)
回答No.3

=IF(CELL("width",C1)<>0,SUM(B1:F1),SUM(B1:F1)-C1) こんなもんですかね? ただし、この関数は問題があるかも知れません。 当方Excel2007では、「再計算」を手動で行わないと 数値が更新されません。 もし、おかしいかな?と思ったら、再計算を実行するか、 あいているセルに何かを書き込んでリターンしてみてください。 これで計算できると思います。 ただ、この式だと、任意の列を非表示にする場合には問題ですね。 別の方法も考えてみるとよいかも知れませんね。 以上

すると、全ての回答が全文表示されます。
回答No.2

No1です。 大変失礼致しました。 A1=SUBTOTAL(9,B1:F1) です。 申し訳ありませんでした。

hiro_o463
質問者

補足

申し訳ありません。 やはり、この関数を入力して Cの列を表示しないにすると C1の数字もA1に合計されてしまうのですが・・・ 説明が下手ですみません>< Cの列を表示する時としないときの合計が変わる様にしたいのです。

すると、全ての回答が全文表示されます。
回答No.1

A1=SUBTOTAL(9,B1,F1) ですね いかが参考になると思いますよ。

参考URL:
http://akubizzz.hp.infoseek.co.jp/sub91.html
hiro_o463
質問者

補足

入力してみましたが、そうすると D1 と E1 がカウントされません。

すると、全ての回答が全文表示されます。

専門家に質問してみよう