![как использовать вычисление из одной ячейки, чтобы направить к ячейкам выше](https://rvso.com/image/1525444/%D0%BA%D0%B0%D0%BA%20%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D1%8C%20%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5%20%D0%B8%D0%B7%20%D0%BE%D0%B4%D0%BD%D0%BE%D0%B9%20%D1%8F%D1%87%D0%B5%D0%B9%D0%BA%D0%B8%2C%20%D1%87%D1%82%D0%BE%D0%B1%D1%8B%20%D0%BD%D0%B0%D0%BF%D1%80%D0%B0%D0%B2%D0%B8%D1%82%D1%8C%20%D0%BA%20%D1%8F%D1%87%D0%B5%D0%B9%D0%BA%D0%B0%D0%BC%20%D0%B2%D1%8B%D1%88%D0%B5.png)
В настоящее время у меня настроен макрос, который выдает мне самую правую ячейку «X», с помощью которой Excel сообщает мне номер ее столбца, и он помещается в ячейку.
Я хотел бы знать, как использовать результат этой ячейки, чтобы получить в Excel подсчет по указанной строке, используя заданное число, и отобразить информацию в этой ячейке (в виде даты).
В примере изображения я установил форматирование Excel R1C1. Число в 15,15 представляет X в 13,6, что дает 13, поскольку оно находится в 13-м столбце. Я хотел бы, чтобы Excel автоматически вычислял, что в 13,1 находится дата, которая относится к самому правому X, а затем выводил эту дату в ячейке с надписью ДАТА.
Затем мне пришлось бы использовать тот же метод для других строк, но надеюсь, что смогу применить тот же результат, если кто-то сможет помочь.
решение1
Самый простой способ, вероятно, использовать косвенный:
=INDIRECT("R1C"&R15C15)
решение2
Сначала вам нужно удалить объединенные ячейки, вместо этого вы можете увеличить высоту строки и ширину столбца, ваши данные станут всего 6 строками и 16 столбцами.
В ячейке в столбце 16, строке 10 (16,10) напишите следующую формулу:
=INDEX(R[-9]C[-14]:R[-9]C,1,MAX(IF(R[-6]C[-14]:R[-6]C="X",COLUMN(R[-6]C[-14]:R[-6]C),0)-1))
Формула массива, вам нужно нажать Ctrl+ Shift+ Enterодновременно,
эта формула для числа 3 в ваших данных.
Формула находит столбец Max, соответствующий последнему X в строке.
Дата записывается от самой ранней к самой близкой
Max, будет найдена ближайшая дата, соответствующая X в строке.
Индекс вернет дату в первой строке.
Вам нужно изменить ее, чтобы она соответствовала следующим строкам.
Для обычной ссылки A1 можно использовать:
=INDEX($B$1:$P$1,1,MAX(IF($B$4:$P$4="X",COLUMN($B$4:$P$4),0)-1))
B1:P1 — строка даты
B4:P4 — строка, где у вас X
И, конечно же, формула массива, вам нужно нажать Ctrl+ Shift+ Enterодновременно.