• ベストアンサー

エクセルの関数について

   A B C D 1  あ 5 6 あ 2  い 6 8 なし 3  う 3 9 なし 4  え 1 6 う 5  お 2 7 なし  Dには関数をいれたくて、 C1の数から4を引いた数が<3ければ、C1-4の数より大きい数をB1より上方を検索して最初に引っかかったB?の同じ行のA列の文字を表示させる。もしなければ「なし」と表示する。 同様に C2の数から4を引いた数が<3ければ、C2-4の数より大きい数をB2より上方を検索して最初に引っかかったB?の同じ行のA列の文字を表示させる。もしなければ「なし」と表示する。 以下5列まで同じです。 ちょっと難しいと思いますがよろしくお願いいたします。

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

  • ベストアンサー
noname#79209
noname#79209
回答No.3

> D列には2007年5月6日みたいに返してほしかったのですが、 > 年月日をすべて返してくれる関数はあるのでしょうか? 関数で設定するのではなく、「セルの書式」で設定するのです。 1.年月日で表示したいセルを選択。 2.メニューバーの「書式」-「セル」をクリック 3.「表示書式」タブをクリック 4.「分類」から「日付」を選択し、「2001年3月14日」など「yyyy年m月d日」といったパターンを選択 5.「OK」をクリック で、お望みの表示になります。

kenken_T
質問者

お礼

ありがとうございました~。助かりました!!

その他の回答 (2)

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

#01です。補足に対する再回答です。 >直す方法はありますでしょうか? TEXT関数を組み込む方法もありますが、式をコピーした後、セルの書式を再設定する方が簡単だと思います

kenken_T
質問者

補足

具体的にはどのように設定すればいいのでしょうか? 関数DAYは日しか返さないし、MONTHは月しか返さないし、 YEARは年しか返しません。 年月日をすべて返してくれる関数はあるのでしょうか? たびたびもうしわけございません。

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

条件が抜けています。「C1の数から4を引いた数」が3以上の場合どうするのか明示されていませんが、質問の内容から「なし」とすると想定して回答します。 D1セルに以下の式を入れて、下方向にコピーしてください =IF(IF(C1-4<3,MAX(INDEX((B$1:B1>C1-4)*ROW(B$1:B1),)),0)=0,"なし",INDIRECT("A"&MAX(INDEX((B$1:B1>C1-4)*ROW(B$1:B1),)))) でも「引いた数が<3ければ」という表現は初めて見ました。意味は通じましたがw

kenken_T
質問者

補足

こんばんは~zap35様。 早速やってみました。完璧でした!!ありがとうございました。 あと、実はA列の部分は年月日が入っていまして、 D列には2007年5月6日みたいに返してほしかったのですが、 シリアル値で返ってきてしまいました。 直す方法はありますでしょうか?

関連するQ&A