- ベストアンサー
エクセルの関数について
エクセルの関数に関するしつもんです。 一行中の値の中でマイナスの数値がいくつかあります。マイナスの値のなかで最左列にある値の列の最上位行の値を返したいのですが倫理式がわかりません。教えて下さい。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
その他の回答 (4)
- imogasi
- ベストアンサー率27% (4737/17070)
質問者は、回答の通りコピペしたら、出来ましたというレベルだろうが、本件は関数としては難しい部類の問題なんだ。 最左列というのが曲者で、マイナス列が2列以上ありえるのがさらに難しくする。 (1)それで配列数式を使う回答になったりする。 (2)配列数式を避けるには技巧的な関数式になる そういうことをことを感じ取って。 >倫理式 論理式だろう。もっと言うなら関数式という言葉を使うべきだろう。 ーーー どちらかというとユーザー関数(VBA)向きの問題で 標準モジュールに Function Mretu(a) For Each cl In a If cl < 0 Then Mretu = cl.Column Exit Function End If Next End Function をつくり 式では =INDEX(A1:I1,0,mretu(A2:I2)) 例データ A1:I2に a b c d e f g h i 1 1 4 4 -4 5 -2 3 3 として 結果は e
お礼
丁寧な答え有難うございます。こまっていたので助かりました。
- kagakusuki
- ベストアンサー率51% (2610/5101)
ANo.3です。 申し訳御座いません、先ほどの関数を、回答欄に入力する際に、一部打ち込みミスが御座いました。 【誤】 =IF(COUNTIF(2:2,"<0"),INDEX($1:$1,MATCH(-(2^-1022),$1:$1,-1)),"") 【正】 =IF(COUNTIF(2:2,"<0"),INDEX($1:$1,MATCH(-(2^-1022),2:2,-1)),"")
- kagakusuki
- ベストアンサー率51% (2610/5101)
今仮に、最上位行が1行目の事でありるものとします。 その場合、例えば、2行目の中にある、マイナスの値が入っているセルの中で、最も左にあるセルが存在する列の1行目の値を返す関数の一例は、次の様なものとなります。 =IF(COUNTIF(2:2,"<0"),INDEX($1:$1,MATCH(-(2^-1022),$1:$1,-1)),"")
- keithin
- ベストアンサー率66% (5278/7941)
お礼
申し訳ありません、当方の入力ミスだったようです。 無事解決しました。非常に助かりました。 ありがとうございました!
補足
MackyNo1さん回答ありがとうございます。 添付画像の通りにエクセルを作成し、数式をJ列2行目に入れましたが、エラーになってしまいます。なぜでしょうか?