• ベストアンサー

エクセル

エクセルで不明な点があって困っています。 知恵を授けていただける方いらっしゃらないでしょうか? 例↓ ーーーーーーーーーーーーーーーーーーーーーーー 1日目 1500  0 2日目 1000  0 3日目 0   200 4日目 500   0 5日目 0    2000 6日目 0    100 7日目 100   100 8日目 1000   0 ーーーーーーーーーーーーーーーーーーーーーーー このような表が縦3000行、横15列くらい続いていて A列に何日目、B列とC列に売上が含まれていて 任意の日目から任意の日目までにB列とC列が上がったのか下がったのかを0を無視して(0がある日は休みの為)一気に行いたいのですが 使えそうな関数か手法はありませんか? マクロ以上は意味がわからないので関数が好ましいです。 申し訳ありませんが詳しい方いらっしゃいましたら 宜しくお願いいたします。

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

  • ベストアンサー
  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.2

No1です。 0の場合は計算しないとのことですので、その場合にはS2セルには次の式を入力します。 =IF(OR(COLUMN(S1)="",INDEX($A:$D,MATCH($R$2,$A:$A,0),COLUMN(B1))=0,INDEX($A:$D,MATCH($Q$2,$A:$A,0),COLUMN(B1))=0),"",INDEX($A:$D,MATCH($R$2,$A:$A,0),COLUMN(B1))-INDEX($A:$D,MATCH($Q$2,$A:$A,0),COLUMN(B1)))

その他の回答 (2)

回答No.3

何を求めたいかわかりません サンプルに対する解答があれば少しは理解できそうですが、、、。 当方は下記のように解釈しました D2セル =IF(COUNTIF(B2:C2,0)>0,"休み",IF(B2>C2,"上がった",IF(B2=C2,"等しい","下がった"))) B13セル =COUNTIF($D$2:$D$11,A13) 添付図参照

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.1

2行目から下方にデータがあるとします。 A列には1日目、2日目・・・、B1セルからO1セルまでには会社名などがあるとします。 例えばQ2セルに3日目、R2セルに6日目と入力するとして、S1セルから横の列にはB1セルからO1セルまでをコピーしてS1セルに貼り付けを行って会社名などを表示します。 S2セルには次の式を入力して右横方向にオートフィルドラッグします。 =IFERROR(INDEX($A:$D,MATCH($R$2,$A:$A,0),COLUMN(B1)),0)-IFERROR(INDEX($A:$D,MATCH($Q$2,$A:$A,0),COLUMN(B1)),0) これで、価格が下降すればマイナスの数字が表示されます。

関連するQ&A