- ベストアンサー
エクセルの関数について
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列まで同じです。 ちょっと難しいと思いますがよろしくお願いいたします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
> D列には2007年5月6日みたいに返してほしかったのですが、 > 年月日をすべて返してくれる関数はあるのでしょうか? 関数で設定するのではなく、「セルの書式」で設定するのです。 1.年月日で表示したいセルを選択。 2.メニューバーの「書式」-「セル」をクリック 3.「表示書式」タブをクリック 4.「分類」から「日付」を選択し、「2001年3月14日」など「yyyy年m月d日」といったパターンを選択 5.「OK」をクリック で、お望みの表示になります。
その他の回答 (2)
- zap35
- ベストアンサー率44% (1383/3079)
#01です。補足に対する再回答です。 >直す方法はありますでしょうか? TEXT関数を組み込む方法もありますが、式をコピーした後、セルの書式を再設定する方が簡単だと思います
補足
具体的にはどのように設定すればいいのでしょうか? 関数DAYは日しか返さないし、MONTHは月しか返さないし、 YEARは年しか返しません。 年月日をすべて返してくれる関数はあるのでしょうか? たびたびもうしわけございません。
- zap35
- ベストアンサー率44% (1383/3079)
条件が抜けています。「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
補足
こんばんは~zap35様。 早速やってみました。完璧でした!!ありがとうございました。 あと、実はA列の部分は年月日が入っていまして、 D列には2007年5月6日みたいに返してほしかったのですが、 シリアル値で返ってきてしまいました。 直す方法はありますでしょうか?
お礼
ありがとうございました~。助かりました!!