アプリ版:「スタンプのみでお礼する」機能のリリースについて

セル「O71」に「=INDEX(O60:O70,AGGREGATE(15,6,ROW(N1:N10)/(COUNTIF(O60:O70,O60:O70)>1),1))」があります。
この数式は指定範囲に同じ数(小数点第2位まで)や文字があればO71に表示出来る数式です。
同じく
セル「P71」に「=INDEX(P60:P70,AGGREGATE(15,6,ROW(O1:O10)/(COUNTIF(P60:P70,P60:P70)>1),1))」があります。
この数式も上記と同じく指定範囲に同じ数(小数点第2位まで)や文字があればP71に表示出来る数式ですが、
何故か「P71」に何も表示されません。
希にこのような減少があります。
考えられる原因としては、「P60」表示が無ければ「P71」に何も表示がされないみたいです。
仮に
セル「P71」に「=INDEX(P67:P68,AGGREGATE(15,6,ROW(O1:O10)/(COUNTIF(P67:P68,P67:P68)>1),1))」と数式を変更すると「P71」に表示されますし、
「P60」に「1」と表示すると元の数式でも「P71」に表示されます。
又、「P61」に「1」を表示させても「P71」には何も表示されません。
指定範囲の行にはランダムに同じ数字や文字が表示されます、その範囲をまとめて
セル「O71」や「P71」に表示させてその後このセル値を使用するのですが、
「P71」の用に何も表示されないと問題が発生します。
この問題を解決出来る方法が有れば教えてください。
1.行のセル範囲は「60」~「70」に設定したいです。
2.「P71」に表示させたいです。
例えばですが
行の範囲「60」~「70」に文字があれば、自動で判断し、行の範囲を「P67」「P68」と設定等が出来ないでしょうか。
よろしくお願いします。

「エクセルの数式について教えてください。」の質問画像

質問者からの補足コメント

  • うーん・・・

    回答ありがとうございます。
    貴者の数式を
    今回の私の数式にした場合はどのようになるかを教えて頂けますか?
    よろしくお願いします。

    No.1の回答に寄せられた補足コメントです。 補足日時:2023/03/04 11:02

A 回答 (2件)

こんにちは



>この数式は指定範囲に同じ数(小数点第2位まで)や文字があれば~
解釈が間違っています。
ご提示の関数式は「小数点第2位まで」を比較するようにはなっていません。
試しに、少数第3位で異なる値を入れてみても、重複とは評価されません。

>仮に~~と数式を変更すると「P71」に表示されますし、
変更の方法がおかしいです。
意味を理解せずに数式を変更するとおかしなことになりかねません。

>考えられる原因としては、「P60」表示が無ければ「P71」
>に何も表示がされないみたいです。
正確には違いますね。
最初に抽出されるセルが空白文字列の場合に、空白文字列が表示されるので、何も表示されないように見えているだけと思われます。
それを、「計算できない」と勘違いなさっているものと思います。
どうやら2番目以降はピックアップしていないようなのでそのように見えますが、2番目をピックアップしてみれば、(該当する重複があれば)そちらが表示されることでしょう。

原因として考えられるのは、その式の作者はセル範囲に空白セル(=emptyセル)があることは想定しているが、空白文字列(="")が存在することを想定していないということではないかと想像します。
直接入力のセルであれば、値が空白文字列になることはないので・・
あるいは、以下の点をうっかり失念したのかも知れません。
COUNTIF関数は、空白セル同士の比較では同じとは見做しませんが、空白セルに対して空白文字列をカウントした場合は同じと見做して空白セルの数を返します。
要は、空白セルや空白文字列を含むセル範囲に対して
 =COUNTIF(セル範囲、"")
を計算すると、空白セルの数を返すということです。
(重複と見做されるという意味です)


もしも、
 「セル範囲に空白文字列が存在する可能性があって、そのセルは抽出の対象にしたくない」
というのであれば、抽出条件に「セルが空白文字列ではない」( P60:P70<>"" )等を追加することで、空白文字列を抽出しなくなるようにすることができます。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
詳しくご説明して頂きまして、感謝いたします。
私の始まりの数式に問題があるようです。
一旦、ベストアンサーとさせて頂きまして、
質問を整理して、再質問させて頂きます。
ありがとう御座いました。

お礼日時:2023/03/04 11:20

この問題は、数式が誤っているわけではなく、指定された範囲内に同じ値がないために起こっている可能性があります。

また、指定された範囲が変更された場合、数式も更新する必要があります。

以下は、指定された範囲内の同じ値を持つ最後のセルを検索するためのより一般的な数式です。
=INDEX(range, AGGREGATE(14, 6, ROW(range)-MIN(ROW(range))+1/(COUNTIF(range, range)>1), 1))
この回答への補足あり
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!