質問: エクセルで、指定の値よりも大きい数字を最初に越えたときの列番号を返すには? テストの点数で、初めて40点を下回ったときの日付と、初めて80点を越えた時の日付を返すような関数を組みたいのですが、どうやればいいか分かりません。match関数を使うような気がするのですが、そこから先が分かりません。 例) 1月1日 43点 1月2日 83点 1月3日 81点 1月4日 26点 ・・・ この例であれば、80点を初めて越えるのは「1月2日」、 初めて40点を下回るのは「1月4日」という形で答えを返したいのですが、どなたかお知恵を貸してください。よろしくお願いします。
回答: こんばんは! 色々方法はあると思いますが・・・ 一例です。 ↓の画像のような感じで作業列を使っています。 c2セルに =if(or(b2="",b2<=80),"",row(a1)) d2セルに =if(or(b2="",b2>=40),"",row(a1)) という数式をいれて、c2・d2セルを範囲指定した後に c2セルのフィルハンドルで下へオートフィルでコピーします (とりあえず100行まで対応できる数式にしていますので、100行までオートフィルでコピー) そしてf2セルに =index($a$2:$a$100,small(c$2:c$100,1)) と入れてg2セルまでオートフィルでコピーします (セルの書式設定から表示形式は「日付」で・・・) これで何とか希望に近い形にならないでしょうか? 以上、参考になれば幸いですが、 他に良い方法があれば読み流してくださいね。m(__)m