• ベストアンサー

エクセルの関数を使って、赤字月から最初に黒字月になった月を返すことはできないでしょうか。

どなたか助言ください。 エクセルで損益管理表を作っています。1行には1ヶ月目、2ヶ月目、3ヶ月、4ヶ月目・・・と入っており、2行目には営業利益率が各月単位で入っています。イメージは以下のような感じです。            A列   B列    C列    D列  1行目      1ヶ月目  2ヶ月目  3ヶ月目  4ヶ月目  2行目 営業利益率 ▲10%  ▲8%   ▲5%   3% このとき「最初の」黒字月である「4ヶ月目」をとなりますが、これを関数をつかって表示させたいです。どのような関数を使えばいいか教えていただけないでしょうか。 

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

  • ベストアンサー
  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.2

数値はB2、C2、D2… と入力されているとすると =INDEX(1:1,LARGE(INDEX((A2:Y2<0)*(B2:Z2>=0)*COLUMN(B2:Z2),),SUM(INDEX((A2:Y2<0)*(B2:Z2>=0),)))) で「4ヶ月目」になると思います

raracha
質問者

お礼

できました! 迅速な回答ありがとうございました。助かりました!!

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

その他の回答 (4)

  • maron--5
  • ベストアンサー率36% (321/877)
回答No.5

◆1行目の「○ヶ月」を表示させるなら =INDEX(B1:H1,MATCH(1,INDEX(1/((A2:G2<0)*(B2:H2>0)),),0))

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

◆こんな方法もありますよ ★数値がB2~入力されているとして =MATCH(1,INDEX(1/((A2:J2<0)*(B2:K2>0)),),0)

全文を見る
すると、全ての回答が全文表示されます。
  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.3

例データ B2:H3に 1 2 3 4 5 6 7 利益率 -23 -12 -4 -3 2 5 -23 どこかのセルに =MIN(IF((B3:M3>0),COLUMN(B3:M3),99)) と入れて、Shif+CTRL+ENTERの3つのキーを同時押し。 配列数式 結果 6 6列目で+にはじめてなったということで、A列は見出しだから 6-1=5期目 ーー 質問の例示の▲10%   の質問表現が曲者で、表示形式でこう見えていると解釈した。 関数はあくまで、「値」を問題にするので、厳密に値がどうかを 質問に書かないといけない。 もし文字列だったら、式が大幅に変わる。

全文を見る
すると、全ての回答が全文表示されます。
noname#202422
noname#202422
回答No.1

どういう風に表示させたいのでしょうか? 単に返すなら、ifでD4>0じゃだめですか。

raracha
質問者

お礼

はい。黒字になる月は変動するので、2行目全部を対象に検索する必要があります。説明が不足しすいませんでした。

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

関連するQ&A

  • エクセルの関数に詳しいかた教えてください!

    以前→の質問をしたものです。http://okwave.jp/qa/q7256942.html 今回は前回のものに新たに条件を付け足した場合なのですが、詳しい方よろしくお願いします。 次のようなゲームをした場合の成績を、エクセルの関数を使って計算したいのですが、詳しい方お願いします。 例) A列: × × × ○ × ○ ○ × × × × ○ ○ ○ B列:0 0 0 1 0 0 0 0 0 0 1 2 0 0    C列:0 0 0 +1 0 0 0 0 0 0 -1 +1 0 0 損益:+2 最大賭数:2(B列) 最大マイナス:-1(C列) A列がゲームの結果(○が勝ち、×が負け)、B列が賭数、C列が損益を表します。 ゲームのルールですが、 (1)まず×が三回続いたら賭けはじめるとします。(追加) (2)まず最初に1を賭け、勝てば1の利益で1セット終了。 (3)最初に1を賭け、負ければ次は2を賭ける。 (4)外れ続けると、1を足し続けて賭ける。 (5)あたると1減らして賭ける。 (6)利益が0以上になったら1セット終了とし、また1から賭けなおす。 ---------------------------------------------------------------------- いまエクセルのA列に○と×が並んでいる状態で、そこから上に書いたB列、C列を関数をつかって計算し、最終的に損益、最大賭数、最大マイナスを求めたいのです。 行と列が逆になっているので、できれば直してご回答願いたいです。 例の数字の並びがきれいじゃありませんが、うまくいかないのでご容赦ください。

  • エクセルの関数に詳しい方教えてください!

    次のようなゲームをした場合の成績を、エクセルの関数を使って計算したいのですが、詳しい方お願いします。 例) A列:○ ○ × × × ○ × ○ ○ × × × × ○ ○ ○ B列:1 1 1 2 3 4 3 4  3 1 2 3 4 5 4 3 C列:+1 +1 -1 -3 -6 -2 -5 -1 +2 -1 -3 -6 -10 -5 -1+2 損益:+6 最大賭数:5(B列) 最大マイナス:-10(C列) A列がゲームの結果(○が勝ち、×が負け)、B列が賭数、C列が損益を表します。 ゲームのルールですが、 (1)まず最初に1を賭け、勝てば1の利益で1セット終了。 (2)最初に1を賭け、負ければ次は2を賭ける。 (3)外れ続けると、1を足し続けて賭ける。 (4)あたると1減らして賭ける。 (5)利益が0以上になったら1セット終了とし、また1から賭けなおす。 ---------------------------------------------------------------------- いまエクセルのA列に○と×が並んでいる状態で、そこから上に書いたB列、C列を関数をつかって計算し、最終的に損益、最大賭数、最大マイナスを求めたいのです。 例の数字の並びがきれいじゃありませんが、うまくいかないのでご容赦ください。

  • EXCEL(関数)について、教えてください。

    EXCEL(関数)について、教えてください。 見積書をEXCELで作っております。(Excel2003) 100万以下は"課長決裁"という文字列をセルC1に表記 100万以上300万未満で、かつ利益率5%以上は"課長決裁"という文字列をセルC1に表記 100万以上300万未満で、かつ利益率5%以下は"部長決裁"という文字列をセルC1に表記 100万以上300万未満で、かつ利益率3%以下は"社長決裁"という文字列をセルC1に表記 ・・・・・・・ という感じで9個以上の条件があり「見積金額セル(例えばA1)」と「利益率セルB1」を参照しながら上記条件にそって課長決裁とか部長決裁、社長決裁といった文字列を特定セル(ここではC1)に表記させたいと思っております。 こういった場合、マクロなど使わずに関数で出来たら良いなと考えておりますが、どんな関数を使えば良いのでしょうか? 分かる方教えて下さい!

  • エクセルの関数について教えてください

    こんにちは。 エクセル関数について教えてください。 (OS:WIN2000、エクセル2003) こんな表があって、別のシートの A1=200 A2=D A3=2・・・1行目D列の項目 と入力したときに A4に「はな」と表示させたいのですが Index関数とMatch関数の組み合わせだと思うんですが どうしたらいいですか? A列 B列 C列 D列 E列 1行 --- --- 1 2 3 2行 100 A いぬ くり 赤 3行 200 B ねこ いも 青 4行 300 C ぞう ねぎ 緑 5行 200 D とら はな 黄 6行 100 E うし みそ 朱 ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・

  • エクセルと関数について

    エクセルと関数について 売店チケット 件数 料金 性別 6000 2 6000 男 6000 0 6000 女 上記のような表をエクセルで作成しました。 左からA列 売店チケット B列 件数 C列 料金 D列 性別です。 売店チケットは3000円単位で、6000円だと2件になります。 でも、手打ち入力なので、ミスすることも多く、B列の0件はエラーで、正しくは2件なのです。 そこで質問なのですが、関数で もし、A列に金額が入っていれば(ゼロ以外)、B列の0は数字上 おかしいので、エラーを表示するような数式を作りたいです. 例えば、E列の1行目に「エラーですよ」的な表示はまとめてできますか? B列は1行目から3000千行目位までデータが入っているとします。 売店チケットに金額の表示があるのに、B列が一件でもゼロだと間違いなのです。 うまく表現できていないかもしれませんが、よろしくお願いします。

  • エクセル関数について

    初心者です。 誰か助けてください。 エクスポートしたエクセルデータが瞬時に他のワークシートへ反映されるようにエクセル関数を組みたいのです。 具体的には、経理から来たその月の売り上げデータをエクセルへエクスポートし、瞬時に他のワークシートに作成した1年分の月別売り上げ表に売り上げの件数及び金額が反映されるようにしたいのです。 その売り上げ表は22の支店別に行が分かれており、列項目に4月5月6月・・・と並べ、各月の売り上げ件数及び金額が入力できるようになっています。 毎月経理から送られるデータをエクスポートし、その売り上げ表に簡単に数字を反映させることができるようになれば、効率があがるのですが・・・ どなたか、お力を貸していただけませんでしょうか? お願いいたします。

  • エクセルの文字関数について教えてください

    エクセルで以下の条件の文字関数を教えてください。 「a列に正の数と負の数が数行単位でまとまって交互に繰り返しあり、その数行単位の中でそれぞれの最小値(最大値)を求める」 当方独学でエクセルを勉強していますがどうしてもわかりません。 よろしくお願いします。

  • エクセル2003及び2010の関数の使い方

    エクセルで月ごとの予定表を作成しています。 B列 2行目に今年の数字2014、月はE列1行目予定の表は、B列3行目に日、C列3行目に曜日、D列3行目、E列3行目、F列3行目の3列のセルを結合して予定を記入しています。 B列4行目より関数を下記の通り作成しています。 今年の年は、B2に記入しています。 =DATEVALUE(B2&”/”&E1&”/1”)によりE1に月の数字1とか2を入力すると自動的に C4に曜日が出力されるようにしましたが、これで良いのでしょうか。 またD E Fの結合したところに定期の水曜日なら休館日とか月曜日なら10時からとか出力するにはどの関数を作成すればよいのか、エクセル2003と2010それぞれ、教えて下さい。 宜しくお願いします。

  • エクセル関数の数式を教えて下さい。

    エクセル関数がニガテです。 (事例)    A列   B列  C列 D列 E列 1箱入数   発注数 単位 箱OR1個単価 1個単価 1   40 1 箱 26,000   【】 2 20 個 700   【】 *行2の単価は1個単価の数値です。 上記事例で、行1の【】内は620、行2の【】内は700と表記する (1個の単価)を求める行1・2共通で使える 関数を教えください。 宜しくお願いします。

  • エクセルの関数で月を加算する関数は?

    エクセルで作った表があります。 A列は回数・B列は翌月を*年*月と表示してあります。 C列には、B列にA回数月列経過した年月を表示したいのですが、どの関数をどう使えばよいのかわかりません。 MONTH関数をどうにかすればよいのでしょうか? 教えてください。

このQ&Aのポイント
  • EPSONのEP-713Aの複合機でスキャナーを使用したいのですが、Epson San Smartから接続しても利用可能なスキャナーが表示されません。
  • スキャナーを探索をクリックしても、何も見つからず接続ができません。
  • どうしたらスキャナーが使えるようになるのでしょうか。
回答を見る

専門家に質問してみよう