- ベストアンサー
列を増やしてINDIRECT関数内の列が増えない
またまた質問させて下さい 以前教えていただいた INDIRECT関数使って =COUNTBLANK(INDIRECT("'5期(9-2)'!BH" & $C$2 & ":BH" & $F$2)) とやって・・・やった!!! でしたが別の参照シート「5期(9-2)」で列を増やしたら 「BH」はそのままで 「BI]にならないのです 困ったもので・・・ またまた教えてください よろしくお願いいたします
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
元の数式を活かすなら、ADDRESS関数を使って以下のような数式にします。 =COUNTBLANK(INDIRECT("'5期(9-2)'!"&ADDRESS($C$2,COLUMN('5期(9-2)'!BH1))&":"&ADDRESS($F$2,COLUMN('5期(9-2)'!BH1))))
その他の回答 (2)
- MarcoRossiItaly
- ベストアンサー率40% (454/1128)
INDIRECT関数は、ただの文字列を、セル参照であるとExcelに認識させるための関数。OFFSET関数は、ワークシート上をセルの数を数えながら移動していって、移動先を参照する関数。いずれにしても、関数の意味をよく理解して、使いながら慣れるしかないですね。使えるようになれば、できることがいろいろ増えますよ。 INDIRECTはただの文字列をセル参照に変えるので、演算子「&」やSUBSTITUTE関数などと組み合わせれば、様々なセル参照を作ることができます。だから、列が挿入されても勝手に書き換わっては困るわけです。また、OFFSETも、分かりやすいシンプルな式で応用範囲が広いので、使えます。 なおINDIRECTには、リボンの「数式」から定義する「名前」というものと併用する使い方があって、上の話とはまたちょっと毛色が違うのですが、こちらの用法はちょっと難易度が上がるかも?よかったら別途、お勉強してみてください^^
お礼
回答ありがとうございます いろいろ出てきた関数でトライしてみましたが 未熟者なのでなかなか うまくいきません 具体的な数式が分かるとうれしいのですが 色々勝手言ってすみません よろしくお願いいたします
- keithin
- ベストアンサー率66% (5278/7941)
方法1: BHは数式の中でただの「文字列」ですから,勝手に変わったりとかしません。 手順: Ctrl+Hで置換のダイアログを出す BH を BI に全て置換する。 方法2: 数式を =COUNTBLANK(OFFSET('5期(9-2)'!$BH$1,$C$2-1,0,$F$2-$C$2+1,1)) に変更する。
お礼
回答有難うございます やってみます ありがとうございます
お礼
回答ありがとうございます できました~~ 参照シートの列増やしても大丈夫・・・・ やった~~~ でも また問題が COUNT関数系は問題なく 教えていただいたものでできたのですが SUMPRODUCT関数で躓いています 18歳以下を出そうと =SUMPRODUCT(((INDIRECT("'2期(9-2)'!"&ADDRESS($C$2,COLUMN('2期(9-2)'!AG$1))&":"&ADDRESS($F$2,COLUMN('25期(9-2)'!AG$1))))>=0)*(INDIRECT("'25期(9-2)'!"&ADDRESS($C$2,COLUMN('5期(9-2)'!AG$1))&":"&ADDRESS($F$2,COLUMN('5期(9-2)'!AG$1))))<=18) どこがおかしいのでしょうか? 毎度毎度すみません よろしくお願いいたします