ネットが遅くてイライラしてない!?

表(C2:L2)の中で、47.9(A2)以上であれば、N2セルに抽出する。と表示する関数を教えてほしいです。If関数で試しておりますが、エラーでうまくいきません。。。
=IF(C2:L2>=A2,C2:L2,"")で何が間違いでしょうか?

「エクセル関数教えて下さい。表の値以上であ」の質問画像

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

  • ちなみに、緑色は、47.9(A2)と逆で、31.9(A3)以下であれば、N3(31)という意味です。

      補足日時:2020/08/17 17:39
  • 早々と回答ありがとうざいます!

    >該当するものが複数ある場合はどうするのでしょうか?

    その場合もあります。
    47.9より大きい数字が2つあるときも出てきます。
    その前に、今わからないことを解決してから、でないと、次の課題に進めないな、と思い、まず、ひとつ質問させていただきました。

    fujillinさんの教えてくれた関数の書式、理解できました。
    本当に助かりました!

    引き続き、教えていただけると、助かります。。。

    2つある場合(47.9より大きい数字、例えば、48、50の2つ)どんなふうに関数作ればいいのでしょうか?

    No.1の回答に寄せられた補足コメントです。 補足日時:2020/08/17 18:23
  • 回答ありがとうございます!
    バージョン2013です。。。

    No.3の回答に寄せられた補足コメントです。 補足日時:2020/08/17 18:56
  • 回答助かります!

    >=IFERROR(SMALL(IF($C2:$L2>=$A2,$C2:$L2),COLUMN(A1)),"")

    式の意味を教えていただけますでしょうか?
    セルの内容がエラー値だった場合、小さい準で。。この先から解読できなくて。。。

    No.4の回答に寄せられた補足コメントです。 補足日時:2020/08/17 22:05
  • >すでに回答されているのに、まだ締め切っていないのは、もっとほかの解決方法もあるかと思われているのでしょうか。

    いえいえ!とんでもございません!!私事ですが、自分の(ここへの質問のことです)を後回しにして、他の人の業務を手伝っていたので、結果こうなってしまいました。。。

    毎日ここを開き、皆さんの回答を拝見し、「関数の書式を理解しよう」と、関数と計算の仕方を検索して、実際に試して少しづつ理解していってるところでした。関数は勉強中な身ですから、すぐ理解できずで。。

    皆さんの回答はすべて正解ですし、題意に沿っている、と理解しています。
    方法はひとつじゃないんだ、と思いながらひとつづつ頭に入れています。

    今回のような事態を招いてしまい、申し訳ございません。関数は理解するのが難しいですね。ご連絡が遅くなってしまったことも、本当にすみません。。。

    No.13の回答に寄せられた補足コメントです。 補足日時:2020/08/20 17:59

A 回答 (13件中1~10件)

こんにちは



>何が間違いでしょうか?
関数の書式の規則にあっていないからですね。

「基準値と比較して大きなものを表示する」ということかと思いますが、該当するものが複数ある場合はどうするのでしょうか?
一番大きなものを返せば良いというのであれば、N2セルに
 =IF(MAX(C2:L2)>=A2,MAX(C2:L2),"該当なし")
の式をいれておくとか…

ちゃんと配列計算でひとつづつ比較することも可能ですが、どう計算したいのかよくわからないので、ひとまず、上記の式でも題意に合うものと判断しました。
この回答への補足あり
    • good
    • 1

#3です。


すでに回答されているのに、まだ締め切っていないのは、もっとほかの解決方法もあるかと思われているのでしょうか。
すでに回答されている皆さんの回答を拝見し、その素晴らしさに驚嘆していますし、参考になります。

それほどの見識を身につけられるのは、計り知れない時間を使いまた努力されたのだろうと敬意を表します。
それを惜しげも無く、見返りも求めずに披露し、後進の者に与えて下さる。
私も皆さんの回答からどれほど勉強させてもらったか、今更ながら感謝です。ありがとうございます。

それが目から鱗。
バージョン2013ではないのですが、
バージョン365 では、
N2のセルに、
=FILTER(C2:L2,C2:L2>A2,"")
N3のセルに、
=FILTER(C2:L2,(C2:L2<A3)*(C2:L2>0),"")

これだけで、複数の場合も対応し、質問者さんの要求を満たせるのです。
この回答への補足あり
    • good
    • 0

[No.11]用の添附圖ですm(_._)m

「エクセル関数教えて下さい。表の値以上であ」の回答画像12
    • good
    • 1

[No.10]です。


貴方は又、
》 今わからないことを解決してから、
》 でないと、次の課題に進めないな
とも仰ッてましたネ?今回の場合は賛成です。

添附圖參照
次式を入力したセル N2 を右方にオートフイルしてみて下さい。
=IFERROR(INDEX($A$2:$L$2,SMALL(IF($C2:$L2>=$A2,COLUMN($C2:$L2)),COLUMN(A1))),"")
【御斷はり】上式は必ず配列數式として入力の事

再質問する場合は、事前に上を實行してからネ!
(敢えてダラダラした諄い説明は省略)
    • good
    • 0

確認させてください。



》 (橙色の)47.9(A2)以上であれば、N2セルに抽出する
》 緑色は、31.9(A3)以下であれば、N3(31)という意味
色の区別が出來ないExcelにワークシート関数で、片やN2セルを、此方N3セルを、選ばせる事は無理難題とは思ひませんか?
Excelが歓迎する條件を御提示下さい。
    • good
    • 0

失礼、



Excel2003ですね。


ならば、

偽、
=IFERROR(OFFSET($A$1,ROW(A1),SMALL(INDEX(($A2<=$C2:$L2)*COLUMN($C2:$L2)+($A2>$C2:$L2)*10^15,,),COLUMN(A1))-1,1,1),"")


正、
=IF(ISERROR(OFFSET($A$1,ROW(A1),SMALL(INDEX(($A2<=$C2:$L2)*COLUMN($C2:$L2)+($A2>$C2:$L2)*10^15,,),COLUMN(A1))-1,1,1)),"",OFFSET($A$1,ROW(A1),SMALL(INDEX(($A2<=$C2:$L2)*COLUMN($C2:$L2)+($A2>$C2:$L2)*10^15,,),COLUMN(A1))-1,1,1))


済みません、

お詫びの上 訂正します。
    • good
    • 0

強いていうなら、



各項の 要素数を、
合わす 必要が、
あると 言う事です。


どういう事かというと、

C2:L2>=A2 → 10項、
C2:L2    → 10項、
""      → 1項、
ですから。


第一項目比較で、

C2と ""が、
取り出され 用いられますが。


第二項目以降では、

IF構文 正側では、
D2:L2よりは 取り出せるものの、

偽側には もう、
値が 指定されておらず、

故、
エクセルが 困るのです。


なので、

例えば、
=IF(A2<=C2:L2,C2:L2,{"","","","","","","","","",""})
=IF(A2<=C2:L2,C2:L2,SIGN(COLUMN(C2:L2))-1)
とかなら、
エラーには なりません。


結果として、

=SUMPRODUCT(IF(A2<=C2:L2,C2:L2,SIGN(COLUMN(C2:L2))-1))

此を コントロール+シフト+エンターで、
確定すれば、
48と 出ますよ。


但し、

やってみて 解りましたが、
此 恐らく、
駄目です。


何故なら、

配置場所関係異存があり、
結果が 安定しないからです。
    • good
    • 0

あのですね、



そういった場合は 通常、
IF構文は 持ちいないのですよ。


Excelは、

基本動作として、
2値を 比較した場合、
ブール値を 返します。


此は、

TRUE、FALSE、
で。


各々、

再演算に 掛けた場合、
TRUEは 0以外、
FALSEは 0に、
みなされる 特性を、
Excelでは 持ちます。


其れは、

一対一の 比較だけでなく、
一対多、多対多、
等も 認められます。


お示しに、

擬えれば、
=(A2<=C2:L2)
47.9<={43,48,39,41.31}
とも できてですね。


此は、

{FALSE,FALSE,TRUE,FALSE,FALSE,FALSE,FALSE,FALSE}
と 返されます。


他方、

=COLMN(C2:L2)
との 記載が、
許されていましてね。


此方は、

{3,4,5,6,7,8,9,10,11,12}と、
返されます。


では、

=(A2<=C2:L2)*COLMN(C2:L2)
と 書いた場合、
どうなるでしょうか?


先筆通り、

TRUE→0以外、FALSE→0,
でしたね。


なので、

=(A2<=C2:L2)*COLMN(C2:L2)
= {FALSE,FALSE,TRUE,FALSE,FALSE,FALSE,FALSE,FALSE}* {3,4,5,6,7,8,9,10,11,12}
={0,0,1,0,0,0,0,0,0,0}*{3,4,5,6,7,8,9,10,11,12}
={0,0,5,0,0,0,0,0,0,0}
との 答えが、
得られます。
(※注:表示上は エラーなれどね。)


もし、

合致値が 必ず、
一つならば、

総和して 5、
OFFSET構文で、
=OFFSET( $A$1,1,5-1,1,1)
と すれば、
値は 読み出されますよ。


尚、

此の際の 総和には、
SUM構文は 使うべきでは、
ありません。


何故なら、

SUM構文では 配置によって、
値の 変化が、
出てしまい。


結果、

信頼性が 著しく、
損なわれるからです。


「なら如何するの?」ですが、

こうした場合は、
SUMPRODUCT構文を 持ちいます。


では、

式に 纏めます、
=OFFSET($A$1,ROW(A1),SUMPRODUCT((A2<=C2:L2)*column(C2:L2)-1,1,1)


さて、

既に ご示唆通り、
此の状態で 該当が、
必ず 一つなんて、
余り あり得ません。


いい変えれば、

列記する 必要が、
ほぼ 出る、
訳ですね。


では、

そうした場合は 如何するか、
ですが。


応用して、

=IFERROR(OFFSET($A$1,ROW(A1),SMALL(INDEX(($A2<=$C2:$L2)*COLUMN($C2:$L2)+($A2>$C2:$L2)*10^15,,),COLUMN(A1))-1,1,1),"")
と しておき、
フィルすれば 叶いますよ。


ファイル、

https://1drv.ms/x/s!AjviygfJDgV_4QCZc09emAYcjTFm


尚、

ファイルは 1度、
ローカルに 別名保存して、
其の保存ファイルを 扱うように、
してくださいね、

別名保存でないと、
意味が 無いですよ。


さすれば、

閲覧も、編集も、
叶うものと 思いますよ。


因みに、

此は 正に、
私が 作成した、
やり方で、

私の 公開以前、
既に、
知られた ものでも、
公開されている ものでも、
ありません。


元より、

私の オリジナルで、

故に、
相応に 誰でも、
勘案し得るものでは、
ない事より、

私に 著作権が、
帰属しています。


当該に付いては、

使用に 際しては、
私の 指定した、
使用上の ルールに、
従う限り、

金品等 一切を、
請求するものでは ありませんが、

真逆に、
従わなかった場合は、
賠償を 請求します。


では、

使用の ルールですが、

此の、
やり方、考え方を、
何時、何処で、
どのIDの ものの、
提示から 知ったか、

使用時には、
誰の 目にも、
灼かに 伺えるよう、
詠う事と、

其れを 見たものが、
此の 義務を、
引き継ぐように 指定する事を、
義務付けます。


使用に 際しては、

此を 怠らない限り、
使用は フリーです。


逆に、

反した場合は 先筆通り、
賠償を 頂きます、

其れだけの 事です。


此、

本来は 履行する方が、
常識な 事なので、

態々 此の様に、
書かないと いけない、

そんな現状が、
狂気的な 異常状態なのです。


然りとて、

書かないと、
誰も 履行しないので、

お目汚しには なるかとも、
思いましたが、

書き込まして 頂きました。


又、

こうでも しておかないと、
間違えた 使用法により、
困惑されているような 事態を、
目の辺りに した時、

「其れ 私が、
作り出した ものなので、
私なら 判りますよ。」
と 投げかけた際に、

狂人扱いを 真面に、
あからさまに されるのですよ、

此は 困るので、
防ぎたいのです。


本来、

賠償等 求めては、
居ませんが、

此の国の 法律体系では、
規制を 個人が、
貼る場合は、

賠償の 形しか、
取れない、

と 思っているもので、
こう しています。


ご理解を 頂けましたなら、
又、
お役に 立てて、
居たならば

幸いです。
「エクセル関数教えて下さい。表の値以上であ」の回答画像7
    • good
    • 0

No1です



すでに回答が出ていますけれど・・・

>2つある場合どんなふうに関数作ればいいのでしょうか?
No4様の回答と同様の考え方ですが、

N2セルに
 =IFERROR(AGGREGATE(14,6,($C2:$L2/($C2:$L2>=$A2)),COLUMN(A1)),"")
N3セルに
 =IFERROR(AGGREGATE(15,6,($C2:$L2/($C2:$L2<$A3)/($C2:$L2<>"")),COLUMN(A2)),"")
を入力して、それぞれ右方にフィルコピーでもいけると思います。
(各式は「配列数式」にする必要はありません。)

ご参考まで。
    • good
    • 0

No.4です。



>=IFERROR(SMALL(IF($C2:$L2>=$A2,$C2:$L2),COLUMN(A1)),"")
>式の意味を教えていただけますでしょうか?

文章で説明するより、お手元のExcelで実際に手を動かした方が理解しやすいと思います。

アップされている画像の配置で、N2セルに
=SMALL(IF($C2:$L2>=$A2,$C2:$L2),COLUMN(A1))
(前回同様、配列数式になりますので、Ctrl+Shift+Enterで確定!)

という数式を入れフィルハンドルで右へコピーしてみてください。

A2セル以上のデータがない場合はエラーが表示されるはずです。
そのエラーを表示させないための「IFERROR関数」になります。

※ 該当データが複数存在する場合は出現順ではなく、小さい順に表示されます。
それは「SMALL関数」のためです。m(_ _)m
    • good
    • 0

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

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング