- ベストアンサー
エクセルの関数を使って、赤字月から最初に黒字月になった月を返すことはできないでしょうか。
どなたか助言ください。 エクセルで損益管理表を作っています。1行には1ヶ月目、2ヶ月目、3ヶ月、4ヶ月目・・・と入っており、2行目には営業利益率が各月単位で入っています。イメージは以下のような感じです。 A列 B列 C列 D列 1行目 1ヶ月目 2ヶ月目 3ヶ月目 4ヶ月目 2行目 営業利益率 ▲10% ▲8% ▲5% 3% このとき「最初の」黒字月である「4ヶ月目」をとなりますが、これを関数をつかって表示させたいです。どのような関数を使えばいいか教えていただけないでしょうか。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
数値は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ヶ月目」になると思います
その他の回答 (4)
- maron--5
- ベストアンサー率36% (321/877)
◆1行目の「○ヶ月」を表示させるなら =INDEX(B1:H1,MATCH(1,INDEX(1/((A2:G2<0)*(B2:H2>0)),),0))
- maron--5
- ベストアンサー率36% (321/877)
◆こんな方法もありますよ ★数値がB2~入力されているとして =MATCH(1,INDEX(1/((A2:J2<0)*(B2:K2>0)),),0)
- imogasi
- ベストアンサー率27% (4737/17069)
例データ 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% の質問表現が曲者で、表示形式でこう見えていると解釈した。 関数はあくまで、「値」を問題にするので、厳密に値がどうかを 質問に書かないといけない。 もし文字列だったら、式が大幅に変わる。
どういう風に表示させたいのでしょうか? 単に返すなら、ifでD4>0じゃだめですか。
お礼
はい。黒字になる月は変動するので、2行目全部を対象に検索する必要があります。説明が不足しすいませんでした。
お礼
できました! 迅速な回答ありがとうございました。助かりました!!