
No.2ベストアンサー
- 回答日時:
回答No.1様が回答されたもの以外の方法として、
=IF(SUMPRODUCT((A$5:INDEX(A:A,1000)=I5)*(J$5:INDEX(J:J,1000)<=K5+1))>1,"○","")
とする方法もあります。
因みに、回答No.1様が仰っておられる
>OFFSET関数なども利用
という方法は次の様なものです。
=IF(SUMPRODUCT((OFFSET(A$5,,,996)=I5)*(OFFSET(J$5,,,996)<=K5+1))>1,"○","")
尚、Excelbookの中にINDIRECT関数やOFFSET関数が使用されているセルが存在していた場合、Excelのウィンドウを閉じる際に、例え入力値を何も変更していなくとも、一々、「変更を保存しますか?」と尋ねて来るという現象が発生します。
【参考URL】
インストラクターのネタ帳 > Excel(エクセル)の関数・数式の使い方 > 変更してないのに保存確認メッセージが表示される
http://www.relief.jp/itnote/archives/001519.php
別にそのまま[保存]ボタンを押して保存すれば良いだけの話なので、大して問題視する様な話でもないのですが、人によっては、その事を煩わしく思うのか、これらの関数を使用する事を嫌う人も一部には居るようです。
遅くなりましたが、ご回答ありがとうございます。
すぐに拝見したのですが、大変助かりました。
>=IF(SUMPRODUCT((A$5:INDEX(A:A,1000)=I5)*(J$5:INDEX(J:J,1000)<=K5+1))>1,"○","")
こういった書き方があるのですね。
しかし、INDEX関数での範囲指定の仕方がよくわからなかったので、教えていただけると幸いです。
INDEXの書き方を調べてみると、「=INDEX(範囲,行位置,列位置 [,領域番号]」と書いてありました。
「A$5:INDEX(A:A,1000)=I5」とは、A列の5行目から1000行目までの間にI5があるかを調べていると思うのですが、なぜ「INDEX(A:A,1000)」でA列の1000行目までを意味することができるのでしょうか。「A:A」とは何を意味するのでしょうか。
よろしくお願いいたします。
No.5
- 回答日時:
>私の最初に組んでいた質問文にある関数と同じようには動きません
具体的な各セルの内容も,計算結果がどうちがうのかの具体的な状況もナイショのままなので,あくまで一例としてですが。計算してるセルに「空っぽのセル」が混じっていると,結果が異なるかもしれません。他の原因なのかも?しれません。例えばご相談で掲示されてる数式からして,実際のエクセルと実は違ってるのかもしれません。
何が「正しい」のかは,今のエクセルの実際のデータを精査して「どうあるべきか」ご自分で判断なさって下さい。
ご相談の内容は「行削除しても参照が修正されない」ためにはで,その回答としてINDIRECTを使いますと回答しています。
検討がめんどくさいなら,今のあなたの計算方法そのまま
IF(SUMPRODUCT((INDIRECT("A$5:A$1000")=I5)*(INDIRECT("J$5:J$1000")<=K5+1))>1,"○",""))
としてください。
余計なことを回答して混乱させたようで,ごめんなさい。
おっしゃるとおり空白セルがあったのでそれを削除して最初に書いていただいた式を入れたのですが、#VALUE!のエラーになってしまいます。
また、今回の回答で書いていただいたとおりに
=IF(SUMPRODUCT(INDIRECT("I$5:I$1000")=I5)*(INDIRECT("J$5:J$1000")<=K5+1)*(INDIRECT("K$5:K$1000")>=J5-1))>1,"○",""))
と式を入れたのですが、エラーになってしまいます。
いずれにしろ、丁寧に答えていただきありがとうございました。
No.4
- 回答日時:
>ANo2さんのご回答のように「セル:INDEX関数」方式の数式も
>>一々、「変更を保存しますか?」と尋ねて来るという現象が発生します。
>という点では同じなので、誤解無いようお願いします。
失礼致しました。
「尚、Excelbookの中にINDEX関数やOFFSET関数が使用されているセルが存在していた場合、Excelのウィンドウを閉じる際に、例え入力値を何も変更していなくとも、一々、『変更を保存しますか?』と尋ねて来るという現象が発生します。」
と書こうとした際に、「INDEX関数」と書くところを間違えて、「INDIRECT関数」と書いてしまっておりました。
尤も、INDIRECT関数の場合も同じ現象が発生する様です。
No.3
- 回答日時:
ん?
一応ご参考までに
ANo2さんのご回答のように「セル:INDEX関数」方式の数式も
>一々、「変更を保存しますか?」と尋ねて来るという現象が発生します。
という点では同じなので、誤解無いようお願いします。
#当方、他の方の回答とかやり取りに、横から口を挟むようなマネは通常はしないんですが。
ご親切に、ありがとうございます。
しかし、私のファイルではindex関数をすでに使っているのですが、そういったメッセージがでません。
出るときもあるということなのか、条件によっては出なくなるということなんでしょうか。
いずれにしろ、ありがとうございます。
No.1
- 回答日時:
>行を削除しても、範囲の参照が修正されないようにする方法はありますか?
#ご相談の作文は500とか1000とかだいぶごっちゃになってますが、そこは触れない事にして
たとえば
=IF(COUNTIFS(INDIRECT("A5:A1000"),I5,INDIRECT("J5:J1000"),"<="&(K5+1))>1,"○","")
などのように、INDIRECT関数を使って出来ます。
状況に依ってはOFFSET関数なども利用できます。
もっとも、
=IF(COUNTIFS(A:A,I5,J:J,"<="&K5+1)>1,"○","")
のようでは何故いけないのか、そもそも500行までとホントに範囲限定する必要があるのか(SUMPRODUCT関数じゃ確かに問題ありですけどね)検討してみるのも、一つの解決策です。
ありがとうございます。
>=IF(COUNTIFS(INDIRECT("A5:A1000"),I5,INDIRECT("J5:J1000"),"<="&(K5+1))>1,"○","")
などのように、INDIRECT関数を使って出来ます。
とのことですが、私の最初に組んでいた質問文にある関数と同じようには動きませんでした。
なぜでしょうか。。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセル 関数参照範囲のセルの表示 1 2023/03/16 14:55
- Excel(エクセル) エクセルの複写について 4 2022/04/10 01:02
- Excel(エクセル) エクセル開いたらウィンドウがでました 2 2023/03/28 16:24
- Excel(エクセル) エクセルVBA 複数行にまたがっている選択を判定するには 2 2023/05/21 21:54
- Excel(エクセル) エクセルの数式について ブック内の別シートの値の含まれたセルの個数を集計したい 全シート一覧のシート 1 2022/07/21 19:28
- Excel(エクセル) エクセルの印刷範囲をページ単位で可変にする方法 3 2022/05/23 13:04
- Excel(エクセル) エクセルで重複データを行ごとに抽出したい 4 2022/12/05 08:18
- Excel(エクセル) 指定文字列が該当するA列をアクティブセルにするには 3 2022/08/17 13:18
- Excel(エクセル) こんにちは。ExcelのVLOOKUP関数のことで教えてください。 2 2022/05/07 11:33
- Visual Basic(VBA) 他のシートからコピーする下記マクロで貼付け位置をWorksheets(1).Range("A3")の 8 2023/01/30 18:48
このQ&Aを見た人はこんなQ&Aも見ています
-
Excelで計算式がずれるパターンとずれないパターンを教えて下さい(絶対参照の話ではない)
Excel(エクセル)
-
エクセルの参照行の挿入による追加と行の削除に対応できる関数を教えてくだ
Excel(エクセル)
-
関数で行の挿入、削除で範囲がズレてしまう
Excel(エクセル)
-
-
4
エクセルで行挿入しても計算式がずれない方法
Excel(エクセル)
-
5
VBAで転記すると元のシートの条件付き書式が消えてしまいます。
Excel(エクセル)
-
6
エクセルVBAで5行目からオートフィルタモードに設定したいたい
Excel(エクセル)
-
7
エクセルで知らない間に行がずれていた
Excel(エクセル)
-
8
リンク元の行を削除すると♯REF!が表示されます。
Excel(エクセル)
-
9
エラーになってないのにVBAが中断される
Excel(エクセル)
-
10
エクセルで行挿入をした時に、Vlookup計算式の一部が変化しない。
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
9月17日でサービス終了らし...
-
エクセルのdatedif関数を使って...
-
エクセル ドロップダウンリスト...
-
特定のセルだけ結果がおかしい...
-
【マクロ】【配列】3つのシー...
-
【関数】同じ関数なのに、エラ...
-
【マクロ】列を折りたたみ非表...
-
vba テキストボックスとリフト...
-
エクセルのVBAで集計をしたい
-
【マクロ】EXCELで読込したCSV...
-
【条件付き書式】シートの中で...
-
【マクロ】オートフィルターの...
-
ページが変なふうに切れる
-
【マクロ】アクティブセルの時...
-
【マクロ】3行に上から下に並...
-
エクセルの循環参照、?
-
iPhoneのExcelアプリで、別のシ...
-
【マクロ】A列にある、日付(本...
-
エクセル
-
エクセルに、105と入力すると、...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
9月17日でサービス終了らし...
-
エクセル
-
【マクロ】WEBシステムから保存...
-
エクセルの循環参照、?
-
エクセル ドロップダウンリスト...
-
エクセルのdatedif関数を使って...
-
特定のセルだけ結果がおかしい...
-
【マクロ】A列にある、日付(本...
-
【マクロ】EXCELで読込したCSV...
-
【マクロ】アクティブセルの時...
-
【エクセル】期限アラートについて
-
iPhoneのExcelアプリで、別のシ...
-
【関数】同じ関数なのに、エラ...
-
Excelの新しい空白のブックを開...
-
【マクロ】3行に上から下に並...
-
【マクロ】宣言は、何のために...
-
VBA チェックボックスをオーバ...
-
Excelについての質問です 並べ...
-
【マクロ】アクティブセルの2...
-
【関数】不規則な文章から●●-●●...
おすすめ情報