• ベストアンサー

EXCELでマイナス値の入ったセルの検索

EXCEL2000を使用してます。 ある行に1、-2、-3、4 と並んでいる場合、左から順に見て行き、最初に出現するマイナスの値が入ったセルを検索したいです。 この場合-2を検索したいです。 最終的にはLOOKUP関数 (ベクトル形式) の様に検索した上のセルを見に行きたいと考えてますが、EXCELでマイナスのセルの検索は可能でしょうか?

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

  • ベストアンサー
回答No.2

こちらは指定した範囲の「何番目」のセルが負の値なのかを探索し ます。配列は使いますが、全体を配列式にしないのでshiftがどう したという手間が不要です。 =match(-1,index(sign(A2:E2),0),0) この式の結果をindex関数に放り込んでやれば、最終的な目的もす ぐに実現出来ますよ。

その他の回答 (2)

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.3

配列数式 例データ B2:F2 11 4 1 -3 -1 =MIN(IF(B2:F2<0,COLUMN(B2:F2),999)) 数式バー部にカーソルを置いて、SHIFT+CTRL+ENTERを同時押し 結果 5 E列 ーー ユーザー定義関数 Function minus(a) For Each cl In a If cl < 0 Then minus = cl.Column Exit Function End If Next End Function ーー シートで =minus(B2:F2) 結果 5 E列

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

こんばんは! 参考になるかどうか判りませんが・・・ 一例です。 ↓の画像で説明させていただくと A1~K1セルで最初に出てきたマイナスの数値をA3セルに表示させるようにしています。 尚、配列数式になってしまいますので、 この画面から単純にコピー&ペーストしただけではエラーになると思います。 貼り付け後、F2キーを押すか、数式バー内で一度クリックします 編集可能になりますので Shift+Ctrl+Enterキーで確定してください。 数式の前後に{ }マークが入り配列数式になります。 A3セルの数式は =INDEX(A1:K1,,SMALL(IF(A1:K1<0,COLUMN(A:K)),1)) として、Shift+Ctrl+Enterキーで確定です。 尚、データ量によって範囲指定の領域はアレンジしてみてください。 以上、参考になれば幸いですが、他に良い方法があれば 読み流してくださいね。m(__)m

関連するQ&A

  • エクセル2003・プラスをマイナスにしたい

    エクセルで、セルにプラスの値を入力するとマイナスになり、それは表示だけでなく実際に数値としてマイナスにしたいのです。つまり、そのセルを計算したり関数を使用した場合、マイナス扱いとなるようにしたいのです。 できれば、セルの書式設定でできないでしょうか?よろしくお願いします。

  • 「ほかの表計算アプリケーション」とは?

    Excel(のバージョンが何であれ、昔から)のヘルプによれば、LOOKUP関数の形式には、ベクトル形式と配列形式の 2 種類があって、さらに次のような記述があります。 >通常は、配列形式の LOOKUP関数の代わりに、HLOOKUP関数(先頭行を検索) >または VLOOKUP関数(先頭列を検索)を利用するようにしてください。配列 >形式の LOOKUP関数は、ほかの表計算アプリケーションとの互換性を維持 >するために用意されている関数です。 (Excel 2002 のヘルプより) (添付図は Excel 2013 のヘルプより) ここで言う「ほかの表計算アプリケーション」とは何のことですか? ひょっとして Lotus 1-2-3 のことでしょうか?ご存知の方はいらっしゃいますか? 「ほかの表計算アプリケーションとの互換性を維持するために用意されている関数」と聞くと、私は DATEDIF関数を想起します。 配列形式の LOOKUP関数の使い方は[関数の挿入]メニューやヘルプにも載せてあるのに、 実用されている DATEDIF関数の使い方は何処にも登場しないのはなぜなのでしょうか?

  • Excel 「2列連続してマイナスの数値が入っている場所の、その直後のセルの数値がプラスである」確率

    数学やExcelが苦手で困っています。 どなたかお力を貸して下さい。 Excel2002以降の環境下での場合です。 1行に100個程度の数値が入っている状況です。 その行の中で、「2列連続してマイナスの数値が入っている場所の、その直後のセルの数値がプラスである」確率を導き出したいのですが、可能でしょうか? 確率自体は、統計関数の何れかを使えば出来そうですが、肝心なところはさっぱり分かりません。 IFを使ってマイナスならば1行下に「1」とか何らかの値を入れて、COUNTIFで手前のセルに値があるか見るという方法も一旦は思いついたのですが、手前のセルとか直後のセルとかを数式でどう表現して良いかも分からず・・・・挫折してしまいそうです。宜しくお願いします。

  • エクセルの条件検索

    行の先頭の値を返すには エクセル関数をどのようにつかったらよいのでしょうか? たとえば CC1を検索すると Bが表示されるようにしたいのですが A AA1 AA2 AA3 AA4 B BB1 BB2 CC1 D BB4 AA5 この表には同じ値は絶対ありません。 VLOOKUPなど LOOKUPを主に検索をしてみたのですが、わかりませんでした よろしくおねがいいたします。

  • エクセルによる表示時方法について

    検索したのですが、似た質問を探すことが出来なかったので質問します。 エクセルで、 列の場合、上から下に数字を記入し、列の最終値を列の値とする。 行の場合、左から右に数字を記入し、行の最終値を列の値とする。 こういった関数はどのようなものになるのでしょうか。 何となく、簡単な関数にも思うのですがわかりません。 よろしくお願いします。

  • EXCELで同じ値のセルを結合したいのですが。。。

    よろしくお願いします。 OSはwindows2000で、EXCEL2000を使用しています。 A列内に数字が昇順に入っています。 数字によって、行数がばらばらで1~1000の値が入っていますが、全体では、5000行のデータです。 同じ値のセルを結合したいのです。 現状は、1から順に選択して、セルの結合しています。 早く出来る方法ありますか? よろしくお願いします。

  • エクセルのMATCH関数でセルの2行目の検索はどのように・・・。

    エクセルの初心者です。 MATCH関数について、 1つのセルの中に5行以上の文書が入っていて、その中の2行目の頭から5文字目までで検索をしたいのですが・・・。 左から5文字目までは”Left”を使えばいいと思うのですが、2行目の指定はどのように命令すればいいのでしょうか? 以上、よろしくお願いします。

  • Excel 順不同数値の検索

    | A | B |   100 115   110   120   130   120   110   120 このように数値が順不同で並んでいるA列を上から検索して、 B1の値と同じ値かそれ以上になる行番号(かその値)をB2に表示させるには どのようにすればよろしいでしょうか。 (上記の場合ですと、3行目の120の値をB2に表示させたい。) 出来ればVBAは使わず関数だけで実現したいと考えています。 VLOCKUP、MATCH等々、検索関数を調べましたが出来そうで出来ません。 ご教示頂けますでしょうか。

  • エクセルのセルに-9.09495E-13

    Excel2007を使ってます。 セルに計算式を入れて計算書を作成していたんですが、 セルが0になった場合、黒字の普通表示0と赤字のマイナス表示-0が現れます。 セルの表示形式は通貨にしているんですがなぜ赤字表示になるんでしょう? また、数値・会計に変えても同じです。 ですが、セルの表示形式を標準に変えてみると赤字のマイナス表示の-0のところだったセルに-9.09495E-13と表示されました。 表示の意味は解るのですがどうして現れるのでしょうか?

  • Excel(2000)で行毎にセルをみて、値を返す

    例えば、以下のようなデータがあったとして、各行毎に左から見た結果、最初にデータがあったセルの列の1行のセルの値を各行のG列に返したい。 ______A__B__C__D__E__F__G__ 1行_ア__イ__ウ__エ__オ__カ____ 2行_1__3__5__2__4__1__ア__ 3行_____2__5__1__5__4__イ__ 4行_____________2__8__2__エ__ 5行_____2______2__1__4__イ__ 6行_________5______2______ウ__ G列に結果。 例えば、G3のセルに何らかの関数を入れて、A3~F3を左から見た結果、B3に2というデータがあるので、その列の1行であるB1の値、イをG3に返すといったないようです。 _ は、スペースをとるためのものです。 実際のデータは500行あり、各行の検索する列数は23列あります。 よろしくお願い致します。

専門家に質問してみよう