
No.1ベストアンサー
- 回答日時:
(´・ω・`)
VLOOKUP関数
普通は検索方法に「FALSE」を設定して「完全一致」をさせるのが一般的ですが、
「TRUE」を設定して「一致する値が無い場合、検索値よりも小さい中で一番大きい値」を拾わせるのです。
=VLOOKUP(A1,C:C,1,TRUE)
これでA1セルと一致するか、A1セルの値よりも小さい中で一番大きい値が返ってきます。
ありがとうございます !
trueを設定とは思いつきませんでした。
vlookupにこんな使い方があるなんて感動しました。質問して良かったです。
No.3
- 回答日時:
こんにちは
C列の日付がソートされているなら、No1様のLookUp系の検索で行うのが簡単でしょう。
順序がランダムな場合は、ちょっと工夫が必要になります。
VBAでの回答はすでに出ているので関数での例を以下に。
例えば、以下の式は、指定日がA1セルにあるとして、C19:C100の範囲の日付と比較する例です。
※ 日付は全てシリアル値であるものと仮定しています。
計算したいセルに
=IFERROR(INDEX(C:C,MOD(SMALL(IF((C19:C100<>"")*(A1>=C19:C100),(A1-C19:C100)+ROW(C19:C100)/1000),1)*1000,1000)),"無し")
を入力し、Shift+Ctrl+Enterで確定します。(←必須です)
No.2
- 回答日時:
こんにちは!
VBAになりますが一例です。
標準モジュールにしてください。
Sub Sample1()
Dim i As Long, k As Long, wS As Worksheet
Dim dateCnt As Long, sN As String, cN As String
Dim myDate, myMin
myDate = Application.InputBox("指定日を 2018/11/3 のように入力")
For k = 1 To Worksheets.Count
Set wS = Worksheets(k)
For i = 19 To wS.Cells(Rows.Count, "C").End(xlUp).Row
If wS.Cells(i, "C") < DateValue(myDate) Then
dateCnt = DateValue(myDate) - wS.Cells(i, "C")
If myMin = 0 Then
myMin = dateCnt
sN = wS.Name
cN = wS.Cells(i, "C").Address(False, False)
Else
If dateCnt <= myMin Then '//★//
myMin = dateCnt
sN = wS.Name
cN = wS.Cells(i, "C").Address(False, False)
End If
End If
End If
Next i
Next k
Worksheets(sN).Activate
Worksheets(sN).Range(cN).Select
MsgBox "選択されているシートの" & vbCrLf & "選択セルが最直近です"
End Sub
※ インプットボックス入力日より前、再直近のSheetのセルが選択されます。
※ 再直近の日が複数存在する場合は、最後のセルが選択されます。
最初のセルを選択する場合は、コード内の「★」の行の等号「=」を消してみてください。m(_ _)m
ありがとうございます。早速 コードを自分仕様にカスタマイズして動作確認させて頂きました。相変わらずスペシャリストですね。感謝します。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) Excel VBA 最終行を取得しVlookup関数をコピーする方法をコーディングで教えてください。 3 2023/05/11 13:14
- Excel(エクセル) vba 今日の日付をブック名に 2 2023/06/04 08:22
- Excel(エクセル) エクセルについて教えてください。 1 2023/03/03 08:38
- Excel(エクセル) WORKDAY関数 4 2023/06/08 13:23
- Excel(エクセル) エクセルで月末、月初の判定をしたい。 4 2022/05/18 23:22
- PowerPoint(パワーポイント) エクセルのマクロについて教えてください。 1 2023/01/20 14:36
- Excel(エクセル) Excelのマクロで、特定のセルから順番に値を取得したい 5 2022/12/06 15:34
- Excel(エクセル) Excelの1つのセルにそれぞれ文字+数字が入力されていて、 数字のみ抽出して合計したいです。(合計 4 2023/03/16 23:44
- Excel(エクセル) Excel シート複数 金額日計表と日付 簡単にシートコピーしたら前日の残高と日付を変更させたい 1 2022/07/15 22:10
- Excel(エクセル) Excel 関数 数式 について 2 2022/09/02 21:45
このQ&Aを見た人はこんなQ&Aも見ています
-
EXCELで直近の日付を抽出する関数
Excel(エクセル)
-
日付のリストから指定した日付に一番近い値を求めたい
Excel(エクセル)
-
【エクセル】指定した日付に一番近い日付を抽出する関数について
Excel(エクセル)
-
-
4
条件が一致するものの中で古い日付を抽出
Excel(エクセル)
-
5
Excelで同じ商品名で、かつ日付が古いものを抽出する方法
Excel(エクセル)
-
6
エクセルで複数条件を満たす時、n番目に新しい日付を返す
Excel(エクセル)
-
7
Excel関数 基準日に一番近い指定曜日の日付が知りたい
Excel(エクセル)
-
8
最も近い数値のあるセルを探す
Excel(エクセル)
-
9
最新の日付をVLOOKUP
Word(ワード)
-
10
worksheetFunctionクラスのVlookupプロパティを取得できません エラーへの対応
Visual Basic(VBA)
-
11
エクセルVBAで、条件に一致するセルへ移動
Excel(エクセル)
-
12
数式による空白を無視して最終行を取得するマクロ
Excel(エクセル)
-
13
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
14
Excelで重複データの件数ではなく、何番目かを求める方法
Excel(エクセル)
-
15
VBA(エクセル)で自動的にボタンをクリックさせるには
その他(プログラミング・Web制作)
-
16
エクセルのVBAで日付を検索し転機したい
Visual Basic(VBA)
-
17
ユーザーフォームを表示中にシートの操作をさせるには
Excel(エクセル)
-
18
エクセルで空白を無視して一番左にあるセルを参照したい
Excel(エクセル)
-
19
EXCEL VBAで全選択範囲の解除
Excel(エクセル)
-
20
エクセルのラベルの値(文字列)を垂直方向で中央揃えにするには?
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
マクロで行がグループ化されて...
-
Excel VBA マクロ 繰り返し処...
-
Excel vbaで特定の文字以外が入...
-
任意の複数セルをマクロで選択...
-
DataGridViewの各セル幅を自由...
-
VBA初心者です。 VBAで行単位で...
-
Excelで指定した日付から過去の...
-
エクセルVBAでのセル番地取得プ...
-
Excel VBA Enterキーによるセル...
-
【VBA】シート上の複数のチェッ...
-
エクセルVBAの”TextToColumns”...
-
結合したセルの高さを内容に合...
-
マクロで100マス計算! Dim i,j...
-
Excel VBA マクロ 画像の貼り付け
-
VBA 開始列が変わる場合の列範...
-
VBAでセルをクリックする回...
-
【Excel】セルの背景色、文字色...
-
VBAでマクロ実行中はExcelのマ...
-
【Excel】指定したセルの名前で...
-
スプレッドシートをGASでセル保...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ExcelVBAを使って、値...
-
Excelで指定した日付から過去の...
-
エクセルvbaで、別シートの最下...
-
i=cells(Rows.Count, 1)とi=cel...
-
特定のセルが空白だったら、そ...
-
Excelのプルダウンで2列分の情...
-
【Excel VBA】指定行以降をクリ...
-
任意フォルダから画像をすべて...
-
VBAでセルをクリックする回...
-
”戻り値”が変化したときに、マ...
-
VBA実行後に元のセルに戻りたい
-
Excel vbaで特定の文字以外が入...
-
【VBA】シート上の複数のチェッ...
-
Excel VBA マクロ ある列の最終...
-
Excel VBAで、 ヘッダーへのセ...
-
DataGridViewの各セル幅を自由...
-
VBからEXCELのセルの値を取得す...
-
EXCELのVBA-フィルタ抽出後の...
-
VBAでセル同士を比較して色付け
-
Application.Matchで特定行の検索
おすすめ情報