• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:選択行内で0%を除く一番右端の数値を取得したい)

選択行内で0%を除く一番右端の数値を取得したい

このQ&Aのポイント
  • プロジェクトの計画/実績の遂行率表を作成しています。ある行に月度ごとの遂行率を数式で取得してパーセンテージ表示しています。その行で、一番最新の数値にあたるのが、0%を除く一番右端の値になります。
  • 1つの月度が1列だけであればMATCH関数やVLOOKUP関数で取得できるのですが、1つの月度内でも項目が多数あるためこれではだめでした。また、http://okwave.jp/qa/q935713.html にある方法も試してみましたが、あらかじめ先の月度の計画値を入れているので遂行率に0%表示が出るため、数値と判断されて失敗でした。
  • 今回の質問文では、選択行内で0%を除く一番右端の数値を取得する方法を求めています。関数の使用や他の方法を試してもうまくいかず困っているため、知識のある方にアドバイスをいただきたいです。よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • sige1701
  • ベストアンサー率28% (74/260)
回答No.3

こんな感じかな =LOOKUP(1,0/A1:Z1,A1:Z1) 0以外の数値を対象とします

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (2)

  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.2

一番簡単な方法は、 >あらかじめ先の月度の計画値を入れているので遂行率に0%表示が出るため、 この数式を =IF(条件が成立したら,遂行率の計算式,"") に手直して、ご覧になった過去ログの数式で右端の数値を取ってこさせます。 どうしても今のゼロ表示を消したくないのでしたら、この式を =IF(条件が成立したら,遂行率の計算式,"0%") と変えてもOKです。 ご相談の直接の回答としては 例えばB2:M2に数字数字数字…0%0%0%が並んでいるとすると =INDEX(2:2,MAX(IF(B2:M2>0,COLUMN(B2:M2)))) と記入して、必ずコントロールキーとシフトキーを押しながらEnterで入力します。

全文を見る
すると、全ての回答が全文表示されます。
  • maron--5
  • ベストアンサー率36% (321/877)
回答No.1

=LOOKUP(1,0/(A1:Z1>0),A1:Z1)

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • Excelで0以外の数値が入った右端の値を取得

    Win7,Excel2013を使用しています. 数値が1行に4列でこのように入っています. 3,2,0,0 このときに,「0ではない最右端の数値」である2を取得して5列目に入れ, 3,2,0,0,2 としたいのですが,適した関数はあるでしょうか. 1行が全て0であれば0にしたいです. その関数を使って, 3,2,0,0 1,0,0,0 0,0,0,0 0,6,1,0 という4行4列に入ったデータについても同様に,下のようにしたいのです. 3,2,0,0,2 1,0,0,0,1 0,0,0,0,0 0,6,1,0,1 似た質問は下のURLのように過去にもあったのですが,0を除いた右端,というのが見当たらなかったため,今回新たに質問させていただきました. http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1431274124 http://okwave.jp/qa/q7149421.html ご存じの方がいらっしゃればよろしくお願いいたします.

  • EXCEL2010 該当行の数値取得方法について

    良い方法があれば、教えて頂けませんでしょうか。 添付画像のように、明細に開始日毎(昇順)に数値A・Bが登録されています。 例えば今日が、6/2であれば、38行目の数値A・Bを取得する方法はありませんで しょうか? (6/3~6/7までは同様、6/8の場合39行目より取得) 或いは「*」をA列に表示する関数を設定してあるので、最後の「*」が表示されて いる行(38行目)の数値A・Bを取得するでも構いません。 どうか、よろしくお願い致します。

  • ある数値を始めて越えた時の値が知りたいです。

    A列に以下のような数値があります。B1セルに、初めて2.00を越えた時の値を表示させたいのですが、 どのような方法があるでしょうか?(下では2.10が欲しい数値です) 2を越える一つ前なら以下の関数で出来ました。 =VLOOKUP(2,A:A,1,TRUE) 1.36 1.48 1.61 1.86 1.97 2.10 2.22 2.35 あと、下の数列のように、上の行に2より大きな数字があると、VLOOKUP関数だけだと一つ前すらも求めることが出来ません。 表示させたいのは、『一つ上のセルが2より小さく、初めて2.00を越えた時の値です。』 4.19 3.39 2.68 2.08 1.65 1.36 1.48 1.61 1.86 1.97 2.10 2.22 2.35 関数だけで駄目であればマクロでも構いません。良い方法が無いでしょうか?

  • Excelで、iserror関数を使用した結果は数値ではないのですか?

    ご質問させていただきます =IF(ISERROR(VLOOKUP(A2,$A$29:$F$40,3,FALSE)),"0",VLOOKUP(A2,$A$29:$F$40,3,FALSE)) という関数を作りました。 この際、エラーが表示される場合に、0に置き換える、という意味で この関数を作ったのですが 表示された 0 は ・表示がセル内で左詰になっている ・条件式書式で「セルの値が 0 のときに フォント色を白」  という条件をつけても、フォント自体は白にならない という2点から、0は数値ではなく文字として認識されている、と自分なりに捉えました。 しかし、疑問に思ったのは、 ・表示された 0 を引用した数式は成り立つ (たとえば、A1の値をIserrorで表示したときに0が出て、A2が2の場合  B1の数式を、 =A1+A2  とすると、2が表示される) ということから、数式を作ると数値として認識される、ということです。 この関数でセルに表示された "0" は、文字として認識されるのでしょうか? それとも数値として認識されるのでしょうか? ちなみに、自分は、0を表示させずに {条件式書式を使用したいと考えています。} さらにそのセルの値をさらに別の数式に反映させたいです。 なので、一番上に表示した数式の "0" の部分を "" にしてしまいたくないのです。(空欄表示の場合は、完全に次の数式に反映できず、このセルの値 {この場合は空欄} を引用した数式の値は #VALUE と表示されました) どなたか詳しい方、ご回答よろしくお願いいたします。

  • エクセル2003で、それぞれの行には5列~10列の数値が入っています。

    エクセル2003で、それぞれの行には5列~10列の数値が入っています。 それらを常に右から(数値が入っている右端のセル)から4列のみ残す 関数式はどのように組めば良いでしょうか。

  • Excel 2000 で近似値を取得する方法

    1行目がタイトル、2行目から数値のデータがA列~E列まで500行ほどあります。 D列は小数点第3位までの数値が並んでいます。 E列には0から始まって100まで偶数が並んでいます。 E列の数値に一番近い値をもつD列のデータをみて、A列とB列のデータを別シートに書き出したいのですが、 上手くいきません。 試して駄目だった方法は、 VLOOKUP関数:0.815と2.015の場合、2.015の値を取得したいのに0.815のデータになる。 EVEN関数:0.×××が沢山並ぶ場合2になるので比較ができない。 なにか関数で上手く組み合わせてできる方法は無いでしょうか? また、VBAでも可能であれば方法をご教示下さい。 お願いいたします。

  • エクセルで三行ごとのデータを1行ごとに表示させたい

    下のように三行ごとにあるセルを参照し、他のセルに一行ごとに表示する方法(関数、もしくはマクロなど)   A B C D 1 あ     あ 2       い 3        4 い 5 6 7 う 8 あるいはあるセルに入力されている数値を数式内の行、または列として指定する方法を探しています。 (たとえばA1に4、A2に3と入力されていたとき、B2でその数値を取得しC3の内容を表示する、といった感じです) 簡単そうなきがするのですが私の検索が悪いのか、見つけることが出来ませんでした。ご存知の方お願いします

  • VBA 指定値に最も近い値のセルの行番号は?

    A列に数値が昇順で並んでます。指定の値に最も近い値が並んでるセルの行番号を知りたいのです。 WorksheetFunction.vlookupを使うと、値は分っても行番号はわからない筈です。 Cells.Find().Row を使うと、行番号はわかりますが「最も近い」値はわからない筈です。 マクロを組め!との御指摘があるかも知れませんが、便利な関数があるのならそれで済ませたいです。何かありませんか?無ければ諦めます。

  • エクセルvlookup関数で値を取得したいリストの行数が多すぎてエクセ

    エクセルvlookup関数で値を取得したいリストの行数が多すぎてエクセルで表示できない 単純にa列をキーにしてb列の値を取得したいですがリストの行数が65***行以上でエクセルで開くと欠落します。リストはcsvでオープンしないで値を取得することはできますか? 宜しくお願いいたします。

  • vlookupの結果があるセルの書式を取得したい

    vlookupの結果があるセルの書式を取得したい =VLOOKUP(検索値,範囲,列番号,検索の型)で値を取ってくることは 出来ますが、その値の入っているセルの書式を取得したい。 Sheet1の セルA1に、検索したい値が入っていて、 セルB2にVLOOKUP関数が入り。 範囲はSheet2のA1:D1000となっていて、 列番号に4と入っていて10行目に 検索値と一致する値が入っていた場合に、D10の値は VLOOKUP関数で持ってこれますが、D10のセル書式を セルB2に反映させたいのですが、どのようにすれば良いでしょうか? VBAでプログラムしないとダメでしょうか?

専門家に質問してみよう