- ベストアンサー
Excel表の最小値の隣に表示する方法
- Excel表の最小値を表示させる際、隣のセルに年月日を表示させる方法について教えてください。
- MIN関数で最小値を表示させることはできるが、隣のセルに年月日を表示させる方法がわからない。
- VLOOKUP関数を使用して試したが、最小値が検索範囲内にない場合にエラーが発生する。解決策はあるか。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
悪いことは言いません。 今すぐ日付を1つのセルにしましょう。年月日を分けて入力なんて日付を扱う時に一番やってはいけないことです。 =("H"&H1&"."&I1&"."&J1)*1 とすれば、更新日を一つのセルでいれられます。(表示形式を日付にして下さい。) そうすれば、MIN関数だけですべてが解決です。 セルを分ければ入力しやすい、とつい思ってしまいがちですが日付や時間は分けない方がいいです。 入力の一瞬の手間と、後々データを加工する時の数式を組む手間とを考えれば一瞬の手間を取る方がいいでしょう。 どうしても日付を分けたいということでしたら、日付をきちんと入力したセルを作っておいてYEAR関数やMONTH関数で取り出してもいいですし、表示形式で日だけや月だけを表示しておくこともできます。 表の構成を再考してみてください。
その他の回答 (3)
- MackyNo1
- ベストアンサー率53% (1521/2850)
G列以降の4列おきに入ったデータ(データ数が一定ではない)を比較するなら、補助列を使用して日付をまとめて取得し、その範囲のデータから最小値を検索するような手段が簡単です。 2行目の空白セル(例えば十分データ入力のスペースを確保したBA2セル)に以下の式を入力して右方向に適当数、および下方向にオートフィルコピーします(最終的にこの列は非表示)。 =IF(INDEX(2:2,4+COLUMN(A1)*4)="","",("H"&INDEX(2:2,4+COLUMN(A1)*4)&"."&INDEX(2:2,5+COLUMN(A1)*4)&"."&INDEX(2:2,6+COLUMN(A1)*4))*1) D2セル(BA行からBN行までオートフィルしている場合) =YEAR(MIN(BA2:BN2))-1988+B2 E2セル =MONTH(MIN(BA2:BN2)) F2セル =DAY(MIN(BA2:BN2))
- MackyNo1
- ベストアンサー率53% (1521/2850)
>今回やりたいのは、各前回の更新日の中で、一番早い更新日をC~Fに表示させたいと思っています。 「各前回の更新日」とは具体的にどのセルを比較するのでしょうか? 例えば、同じ行のG~J列、K~M列、O~R列、S~V列のデータ間で比較したいということでしょうか? また、C~Fに表示させたいと言っていますが、例示データのC~F列の表示されているデータとの関係はどのようになっているのでしょうか? また、年号は「平成」しかない条件でよいのですね。
補足
>「各前回の更新日」とは具体的にどのセルを比較するのでしょうか? aさんの前回更新日(G~J)、bさんの前回更新日(K~N)、Cさんの前回更新日(O~R)・・・ という風に入力しているので、各個人の前回更新日の比較です。 >また、C~Fに表示させたいと言っていますが、例示データのC~F列の表示されているデータとの関係はどのようになっているのでしょうか? 更新日は前回更新日の最小値に更新年数を足した日付を表示させてたいと思っています。 >また、年号は「平成」しかない条件でよいのですね。 今のところは「平成」のみで大丈夫です。 宜しくお願いします。
- bin-chan
- ベストアンサー率33% (1403/4213)
「年月日」を持つセル(列)を追加したほうが簡単なのでは? ・minは追加したセル(列)に対して行う。 ・式は[=text([年],"0000")&text([月],"00")&text([日],"00")]と桁数を揃える。
お礼
やっぱりそうなんでしょうか。 薄々思ってはいたのですが、入力の時に数字だけの入力の方が楽だったものでついつい・・・ ありがとうございました。
お礼
すみません、入力の際の一瞬の手間を取ってしまいました。 それと、次の更新日が年単位なので分けた方が計算しやすいかと思っちゃったので。 一つのセルにしてやってみます。 ありがとうございました。