[[20040516014407]] 『sumproduct関数の範囲が動かないように』(かじり) ページの最後に飛ぶ

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

 

『sumproduct関数の範囲が動かないように』(かじり)
 お世話になります.表の中にsumproduct関数でカウントしているのですが,データを上から挿入した場合,範囲が下にずれてしまいます.
 sumproduct((A1:A1000=1)*(B1:B1000=1))を固定したいです.
 countifとかいろいろやってみたのですが,頭がうにになってしまいました.(ーー;)
どういう式にすればいいですか?

F4で$を付ければいいんじゃないんですか?
sumproduct(($A$1:$A$1000=1)*($B$1:$B$1000=1))
こんな感じで。。。(ななこ)

 (ななこ)様ありがとうございます.$をつけてもA1:B1に行挿入していくと
 sumproduct(($A$2:$A$1001=1)*($B$2:$B$1001=1))
 sumproduct(($A$3:$A$1002=1)*($B$3:$B$1002=1))
 と最初の範囲を絶対参照してくれます.つけなくても同じです.また列定義ではNUMエラーが返ってきます.
 ならば範囲の名前定義でと思ったのですがこれも受け付けてくれませんでした.
 現状は行挿入したあといちいち置換で範囲をもとに,戻していますが
 挿入しても常にsumproduct(($A$1:$A$1000=1)*($B$1:$B$1000=1))
 となるように数式を変更できないでしょうか
(かじり)

 そもそもが数式で参照しているセルの範囲の先頭行に行挿入するのが
運用的に考えなければいけない点なのですが、(見出し行を敢えて作り、
見出しを含めて範囲指定、見出しの次へ行挿入)
範囲指定を文字列にしてしまえば参照は動きません。
=SUMPRODUCT((INDIRECT("$A$1:$A$1000")=1)*(INDIRECT("$B$1:$B$1000")=1))
(KAMIYA)

(KAMIYA)様いつもお世話になっております.
 >(見出し行を敢えて作り、見出しを含めて範囲指定、見出しの次へ行挿入)
 これに懲りて次回から必ずそうします(__)
 INDIRECT関数はこんな使い方もあるのですね.とても便利な関数だと思うのですが
 これは使えるケースだという発想がほとんど沸いたことがありません(>_<)
 でも列定義だとなぜNUMエラーが返ってくるのでしょうか.A1:A65536と入力しても
 NUMエラーがかえってきます.セルを参照するのも,そのセルのある列全部を参照す
 るのも大してかわりはないと思うのですが...とりあえず有難うございました
 今後もよろしくお願いします
(かじり)

コメント返信:

[ 一覧(最新更新順) ]


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