У меня есть два листа Excel, один кумулятивный (с начала года) и один периодический (ежеквартально).Я пытаюсь проверить на возможные ошибки ввода.
Упрощенная таблица ytd:
ID Q1/18 Q2/18 Q3/18 Q4/18 Q1/19 Q2/19 ...
1 6 12 20 28 10 20
2 5 11 18 26 10 20
3 5 11 18 26 10 20
Упрощенная квартальная таблица:
ID Q1/18 Q2/18 Q3/18 Q4/18 Q1/19 Q2/19 ...
1 6 6 8 8 10 10
2 5 6 7 8 10 10
3 5 6 7 8 10 10
В приведенном выше примере нет ошибок ввода.
Япытаясь создать третий лист, который бы выглядел примерно так
ID Q1/18 Q2/18 Q3/18 Q4/18 Q1/19 Q2/19 ...
1 T T T T T
2 T T T T T
3 T T T T T
Сначала я попытался использовать формулу, подобную этой:
=IF('YTD'!C2-'YTD LC'!B2-'QTR'!B2=0,T,F)
Мне не особенно нравится это, потому что формула будетне применяется в первом квартале.Это также предполагает, что мои данные на обоих листах упорядочены одинаково.Хотя я считаю, что это правда во всех случаях, я бы предпочел подтвердить что-то вроде индекса.
Я пытался работать над решением VBA на основе других решений, которые я нашел здесь, но добился меньшего прогресса, чем с помощью формул:
Sub Compare()
lrow = Cells (Rows.Count, 1).End(xlUp).Row
lcol = Cells(1, Columns.Count).End(xltoLeft).Column
Sheets.Add
ActiveSheet.Name = "Temp Sheet"
For i = 2 To lrow
For j = 3 To lcol
valytd = Worksheets("YTD").Cells(i,j).Value
valytd = Worksheets("YTD").Cells(i,j).Value
If valytd = valytd Then
Worksheets("Temp").Cells(i,j).Value = "T"
Else:
Worksheets("Temp").Cells(i,j).Value = "F"
Worksheets("Temp").Cells(i,j).Interior.Color Index = 40
End If
Next j
Next i
End Sub