- ベストアンサー
関数を教えてください
B1~F1のセルに入力した数字の合計をA1のセルに集計するとします。 Cの列を表示しないとすると、もちろんA1のセルには、 C1に入力してある数字も合計されてしまいますが、 表示しないときはA1の合計に含めない、表示する時はA1の合計に含める という風にしたいのですが、その場合A1の関数を教えて下さい。
- みんなの回答 (8)
- 専門家の回答
質問者が選んだベストアンサー
参考URLのリンク先を試されてみてはいかがでしょうか? 自分で試してみたら上手くいきました。 (Excel2003)
その他の回答 (7)
- will_mania
- ベストアンサー率36% (177/482)
フィルタは行は無理ですので縦横を逆にしてからやられてみては? コピーして形式を選択して貼り付けで行列入替で縦横を入れ替えて試されては?
- will_mania
- ベストアンサー率36% (177/482)
表示する物しない物をオートフィルタで選択した場合に有効になります。 大変失礼致しました。
補足
度々すみません。 オートフィルタは、列のA~Fにはつけられるのですが、 行(縦の数字)にもつけられますか?
- naoja
- ベストアンサー率9% (2/21)
追加回答です。 任意のセルが非表示の場合にも対応できます。 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)
関数では無理な気がします。 例えばセル"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)
=IF(CELL("width",C1)<>0,SUM(B1:F1),SUM(B1:F1)-C1) こんなもんですかね? ただし、この関数は問題があるかも知れません。 当方Excel2007では、「再計算」を手動で行わないと 数値が更新されません。 もし、おかしいかな?と思ったら、再計算を実行するか、 あいているセルに何かを書き込んでリターンしてみてください。 これで計算できると思います。 ただ、この式だと、任意の列を非表示にする場合には問題ですね。 別の方法も考えてみるとよいかも知れませんね。 以上
- will_mania
- ベストアンサー率36% (177/482)
No1です。 大変失礼致しました。 A1=SUBTOTAL(9,B1:F1) です。 申し訳ありませんでした。
補足
申し訳ありません。 やはり、この関数を入力して Cの列を表示しないにすると C1の数字もA1に合計されてしまうのですが・・・ 説明が下手ですみません>< Cの列を表示する時としないときの合計が変わる様にしたいのです。
- will_mania
- ベストアンサー率36% (177/482)
A1=SUBTOTAL(9,B1,F1) ですね いかが参考になると思いますよ。
補足
入力してみましたが、そうすると D1 と E1 がカウントされません。
お礼
関数入力してみたところうまくいきました♪ ありがとうございます、一番分かりやすい回答でした。