• ベストアンサー

エクセルで左から、最初に0より大きい値を抽出したい

エクセルで左から始めて、最初に「0」ゼロより大きい値になる(セルの位置の)値を表示したいです 関数でお願いできればと思います。 a,b,c,d,e,f ,g,h,i, j --------------- 0,0,0,1,0,0,0,0,0,0 - この場合、D1の"1"を表示させたい 0,1,2,1,3,4,1,0,0,1 - この場合、B2の"1"を表示させたい 0,0,0,0,1,2,4,5,1,2 - この場合、E3の"1"を表示させたい 少々急いでおります。何卒、よろしくお願いいたします。 補足 エクセル2010です 。

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

  • ベストアンサー
  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.1

以下のような関数で最初の0より大きな数字を表示できます。 =INDEX(A1:J1,MATCH(1,INDEX((A1:J1>0)*1,),0)) エラー表示をしたくないならIFERROR関数などを使用して適宜数式を修正してください。

megamax1010
質問者

お礼

出来ました!!迅速なご回答、本当に、本当にありがとうございました!!!! またの機会も何卒よろしくお願い申し上げます!

その他の回答 (1)

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.2

こんばんは! 質問では偶然かどうかわかりませんが、 「0」の次は必ず「1」となっていますよね? 本来の目的は「0」の次の列の値を求めたい!という解釈での一例です。 データは1行目からあるとします。 表示したいセルに =INDEX(A1:J1,,MIN(IF(A1:J1>0,COLUMN(A1:J1)))) これは配列数式になってしまいますので、Shift+Ctrl+Enterで確定! この画面からコピー&ペーストする場合は表示したいセルに貼り付け後、数式バー内で一度クリック! 編集可能になりますので、Shift+Ctrlキーを押しながらEnterキーで確定! 数式の前後に{ }マークが入り配列数式になります。 これをオートフィルで下へコピーしてみてください。 尚、エラー処理はしていません。 ※ A列に「0」より大きな値がある場合はA列のデータが表示されます。m(_ _)m

megamax1010
質問者

お礼

誠にありがとうございました。大変参考になりました。 またの機会もよろしくお願いいたします!!!!

関連するQ&A

  • エクセル 値の入ったセルを左に寄せる

    エクセルの関数で質問です。 値の入ったセルを左に寄せて表示したいのですが、 どうかご教授ください。    1     2    3    4   5 A リンゴ      キウイ    ライチ B リンゴ  キウイ ライチ Aには別表からVLOOKUPで値を返してきています。 関数でBの様に左に寄せる方法はありますでしょうか?

  • EXCELのIF関数の入れ子について

    すみませんよろしくお願いします。 EXCELでセル(A1)~(L1)までに不特定の文字列が入力されており、(M1)に「もし(L1)が入力されていたら(L1)の値を表示、もし(L1)がブランクなら(K1)の値を表示、もし(K1)がブランクなら(J1)の値を表示、もし(J1)がブランクなら(I1)の値を表示・・・・」といった具合で関数を作成したいのです。また、(A1)~(L1)のセルで穴あき状態で入力されていた場合は最も(L1)寄りのセルを表示させたいです。 EXCEL2003のIF関数だと、 =IF(L2="",IF(K2="",IF(J2="",IF(I2="",IF(H2="",IF(G2="",IF(F2="",IF(E2="","",E2),F2),G2),H2),I2),J2),K2),L2) で最後の(A1)までの入れ子を作ることができせん。 EXCEL2007を使用すると、 =IF(L2="",IF(K2="",IF(J2="",IF(I2="",IF(H2="",IF(G2="",IF(F2="",IF(E2="",IF(D2="",IF(C2="",IF(B2="",IF(A2="","",A2),B2),C2),D2),E2),F2),G2),H2),I2),J2),K2),L2) と作成できます。 EXCEL2003で作成するいい方法はありますでしょうか? ご指南の程よろしくお願いします。

  • エクセル、任意の「行」だけを抽出したい。

    こんなことできますか? A1:F100のセル内にランダムに数字が入っています。 質問1) この中から 1行目→3行目→5行目と一つ飛ばしで入っているデータを抽出してH1:M100の範囲内に表示させるにはどのような操作をすればいいのでしょうか?関数とかで簡単に抽出表示させる技とかあればいいのですが・・・。 A1-B1-C1-D1-E1-F1 A2-B2-C2-D2-E2-F2 A3-B3-C3-D3-E3-F3 A4-B4-C4-D4-E4-F4 A5-B5-C5-D5-E5-F5 A6-B6-C6-D6-E6-F6 A7-B7-C7-D7-E7-F7 ・・・ A100-B100-C100-D100-E100-F100 の中から A1-B1-C1-D1-E1-F1 A3-B3-C3-D3-E3-F3 A5-B5-C5-D5-E5-F5 ・・・ を抽出して H1-I1-J1-K1-L1-M1 ・・・ H100-I100-J100-K100-L100-M100 の範囲内に表示させたいです。 質問2) 同様に、 1行目→4行目→7行目と二つ飛ばしで入っているデータを抽出してO1:T100の範囲内に表示させるにはどのような操作をすればいいのでしょうか?関数とかで簡単に抽出表示させる技とかあればいいのですが・・・。 ※ 説明がわかりにくいかもしれませんが、よろしくお願いします。

  • Excel VBAで組んだ自作関数が認識されない

    お世話になります。お教えください。 Excel2000や2003において、自作関数を作成。 (B(C3,D2,E2,F2,F3,$E$6,$E$7,$I$5)-A(C4,D4,E4,F4,$E$6,$E$7,$I$5)のように、セルの数値を読み込み、ある計算を2回(A関数とB関数)させ 最後に差を求める。) 計算させると値が出るのですが、VBAを盛り込んだExcelファイルを保存させるとエラーを表示します。("=VALUE"?などと出る) 自作関数のセル位置でEnterを押すと再認識して値が出るのですが・・・。 対処法をご存知の方がいらっしゃったらお教えください。 お願いします。

  • Excel 値の入っているものを抽出して連結

    Excel2013を使用しています。 行に値の入っているセルのみを別セルにひとまとめにしたいのです。 イメージのBからE列の値をF列に抽出して連結させる関数をお教えください。

  • エクセルでの関数について(合致する値を抽出)

    下記下のエクセルにおいて、 ○に一致する値を抽出したいです。 ○には合致するものがいくつかあり、2・3・4・5 すべてを抽出したいのですが、VLOOKUP関数だけではエラーになってしまいます。 どのような関数を用いれば可能ですか? ~~~~~~~~~~~~~~~~~~~~~  A B C D E F 1 ○     ○ 2 2 △     ○ 3 3 ★     ○ 4 4      ○ 5 5 ~~~~~~~~~~~~~~~~~~~~~

  • エクセルで横方向でのソート、または条件を満たすセルの値を表示する関数ありますか?

    A,B,C,D,E列に文字列が入っており、 F列にはA~Eの中で先頭文字が(1)のセルの値を表示 G列にはA~Eの中で先頭文字が(2)のセルの値を表示 H列にはA~Eの中で先頭文字が(3)のセルの値を表示 I列にはA~Eの中で先頭文字が(4)のセルの値を表示 J列にはA~Eの中で先頭文字が(5)のセルの値を表示 させたいのですが、F~J列にはどんな関数を入れれば良いでしょうか? 横行でのソートをするのと同じ意味になると思うのですが、 先頭文字順に拾い出したいのです。 よろしくお願いします。

  • エクセルのセル参照

    エクセルで隣にくるセルを参照したいのですが、どうすればよろしいでしょうか。 F列に計算式を入れるのですが、C、D、E列を非表示にした場合、B列の値を取ってくる。というような感じです。 それが、D,E列を非表示にした場合はC列の値を取ってくるみたいな感じで、自動的に隣のセルとして認識してくれる関数みたいなのはありますか。

  •  エクセル関数式により、ある値が二つの値の間にある条件の時に抜き出す方

     エクセル関数式により、ある値が二つの値の間にある条件の時に抜き出す方法。  初めまして。よろしくお願いします。  例) A B C D E F 1赤 2 5 1 2青 9 2 3 青 3黄 1 9 4 黄 4緑 3 4 2 5黒 8 4 9 6紺 2 5 4 紺 7橙 5 1 6 8 9  D列にある値がB列にある値とC列にある値の間に有る場合、A列に有る値をE列に抜き出す(例では2行目、3行目、6行目のDの値がBCの値の間に有るためにEのセルにAの値を表示される)関数式を教えていただきたく、よろしくお願いします。

  • IF関数、上セルが0だったら左の値を、上セルがブランクだったらブランクに。

    こんにちは。よろしくお願いします。 エクセル2000で作業しています。セルJ36に下記の数式が入れてあります。 =IF(I35=0,H36,SUM($F$35:I35) 上のセルが0だった場合は、左のセルの値を表示するようにしたつもりですが、 上のセルがブランクだった場合も、左のセルの値を表示します。 上のセルが0だった場合の仮定はそのままで、さらに、上のセルがブランクだった場合には、本セルもブランクにするにはどうすればよいのでしょうか?

専門家に質問してみよう