• ベストアンサー

エクセルの関数を教えてください。

エクセルの関数を教えてください。 添付のシート(「参照シート」と呼ぶことにします。) 「残高」の一番下の値をLOOKUP(10^10,参照シート!G:G) という関数で取り出すことができました。 やりたいことは ある期間の残高を取り出したいと思っています。 期間は「参照シート」のH4にはfrom、J4にtoの日付を入力しています。 その期間内の一番下の残高を取り出したいと思っていますが、複雑すぎてわかりません。 これを関数でできるでしょうか?

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

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

No.1.2です! ごめんなさい! No.2の方法をこちらで確認してみました。 「from」がデータの最初からでないとうまく機能しませんでした。 というわけでNo.2の方は無視して No.1で試してみてください。 どうも失礼しました。m(__)m

konotabi
質問者

お礼

たびたびお付き合いありがとうございます。 ばっちりできました。 このようなものに対応できる技量はすばらしい限りです。 感動です。

その他の回答 (3)

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

次のような式で計算できるでしょう。 =IF(OR(COUNTIF(A:A,H4)=0,COUNTIF(A:A,J4)=0),"",VLOOKUP(J4,A:G,7,TRUE)-VLOOKUP(H4,A:G,7,TRUE))

konotabi
質問者

補足

KURUMITOさんありがとうございます。 試させていただきましたが関数を入れるとそこが何も表示されないブランクの状態にになります。。。

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

No.1です! たびたびごめんなさい。 前回の作業列を使用する方法は無視してください。 前回の表そのままの配置として(作業列は使わなくてOKです) Sheet2のK4セルに =IF(OR(H4="",J4=""),"",INDEX(参照シート!G2:G1000,MAX(SUMPRODUCT((参照シート!A2:A1000>=H4)*(参照シート!A2:A1000<=J4))))) としてみてください。 (数式は「参照シート」の1000行目まで対応できます) 以上、何度も失礼しました。m(__)m

konotabi
質問者

補足

tom04さんあれがとうございました。 試させていただきましたが残念ながらうまく表示されませんでした。 どんなようになるか現象を表現できませんが、期間内の一番下、つまりその期間の最新残高 を表示しませんでした。 使い方がわるいのでしょうか?

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

こんばんは! 色々方法はあるかと思いますが・・・ 一例でし。 余計なお世話かもしれませんが、日付が昇順であれば「from」のデータは必要なく、「to」だけのデータがあれば大丈夫だと思います。 しかし質問に忠実に表を作ってみました。 ↓の画像で説明します。画像の上側が「参照シート」で、Sheet2に表示するようにしています。 (今回はK4セルに表示しています。) 「参照シート」に作業用の列を1列設けてみました。 作業列H2セルに =IF(OR(Sheet2!$H$4="",Sheet2!$J$4=""),"",IF(AND(A2>=Sheet2!$H$4,A2<=Sheet2!$J$4),ROW(),"")) としてオートフィルでずぃ~~~!っと下へコピー そして結果のSheet2のK4セルには =IF(COUNTBLANK(G4:J4),"",INDEX(参照シート!G:G,MAX(参照シート!H:H))) という数式を入れています。 これで何とか希望に近い形にならないでしょうか?m(__)m

関連するQ&A