Страницы: 1
RSS
Как взять значение из предыдущей непустой ячейки?
 
Всем привет. И простите если не к месту.
Есть столбец ячеек. В каждой из них есть формула, которая берёт дату из конкретной предыдущей ячейки и прибавляет её к тому, что в скобках: =E3+(G5/5000). Таких ячеек в столбце около 200. Таких книг эксель требуется около 30 в год. Строки постоянно меняются местами при работе. Поэтому чтобы не прописывать каждый раз предыдущую непустую ячейку вручную нужна формула (или функция), которая будет брать значение из предудущей вверх непустой ячейки вместо J3 в моём примере. То есть чтобы моя формула =E3+(G5/5000) функционально работала так ="значение предыдущей пустой ячейки"+(G5/5000). Часа 2 убил на гугл, не нашёл. Прикрепил файл.

UPD. какая функция находит первое непустое значение в столбце вверх? без диапазона, просто первое попавшееся значение по столбцу вверх? (файл не прикрепляется, есть в обсуждении -- в3)

UPD 2. Решено. Спасибо bigorq!
Изменено: oleg-zuev - 05.07.2025 23:11:13
 
Цитата
oleg-zuev написал: Прикрепил картинку
На форум по Excel - картинку?
Про файл-пример есть в Правилах форума.
Приложите файл-пример Excel. Как есть - Как надо.
В любом случае в  картинках формулы не поддерживаются
Согласие есть продукт при полном непротивлении сторон
 
и заодно напишите, подойдёт ли вариант с дополнительным столбцом?
 
Цитата
написал:
Приложите файл-пример Excel. Как есть - Как надо.
Как есть приложил. Как надо нету, потому что если бы было я бы не спрашивал как это сделать
 
Цитата
написал:
вариант с дополнительным столбцом?
Нет. Не подойдёт.
 
Цитата
oleg-zuev написал:
Как есть приложил. Как надо нету, потому что если бы было я бы не спрашивал как это сделать
Вы можете вручную написать желаемый результат без формул в отдельном столбце, для наглядного примера?
Тогда будет понятнее и форумчане скорее помогут с формулой
 
oleg-zuev, как вариант - нужно было гуглить как заполнить пустые ячейки значением из предыдущей ячейки, это легко гуглится.
И тогда эти формулы можно копипастить без коррекции и без допстолбцов.
 
Цитата
написал:
Прикрепленные файлы
Не работает. Эксель заблокировал макрос.  
 
Если я правильно понял:
В С5
=ЕСЛИ(C5="";"";ЕСЛИОШИБКА(ЕСЛИ(E3<>"";E3;ЕСЛИ(E2<>"";E2;E1)) + D5/5000;""))
При условии что не больше двух пустых строк подряд
Изменено: DAB - 05.07.2025 19:31:22
 
oleg-zuev, как я понял
=LOOKUP(2;1/($E$3:E4<>"");$E$3:$E4)+(D5/5000)

Цитата
oleg-zuev написал:
из предудущей вверх непустой
и
Цитата
oleg-zuev написал:
="значение предыдущей пустой ячейки"+(G5/5000).
как бы разные вещи, я сделал по первому варианту
Изменено: bigorq - 05.07.2025 19:36:13
 
Цитата
написал:
желаемый результат без формул
 
Цитата
написал:
=LOOKUP(2;1/($E$3:E4<>"");$E$3:$E4)+(D5/5000)
даёт #ИМЯ? Я гуглил =LOOKUP. Много подобных гуглил. Там везде нужен отдельный столбец. Ну должна же быть функция, которая берёт значение из ближайшей вверх последней ячейки.
 
Цитата
oleg-zuev написал:
даёт #ИМЯ?
если гуглили, то вероятно заметили, что по русски это ПРОСМОТР
 
По другому изобразил. Суть та же. В формуле я написал "???" -- это функция, которую я и ищу (или формула, но лучше функция). +10 это от балды. Там любое значение можно добавить. Нужно найти "???", которое будет брать значение из первой непустой ячейки вверх. А к этой функции в формулу уже можно дописать что угодно.
 
Цитата
написал:
по русски это ПРОСМОТР
Ну да. Там много всего находилось. И ПРОСМОТР тоже.
 
Цитата
oleg-zuev написал:
Не работает. Эксель заблокировал макрос.  
- не понял к чему этот ответ. Если к моему файлу - я макрос не стал удалять, т.к. он там уже зачем-то был, но я его никак в решении не использовал, можно без него посмотреть.
 
Вообще убрал всё лишнее:
 
Цитата
написал:
Если к моему файлу
тогда не из-за макроса не работает) я подумал -- из-за макроса
 
Цитата
oleg-zuev написал:
Вообще убрал всё лишнее
я так и не понял, почему
Код
=ПРОСМОТР(2;1/($a1$1:a2<>"");$a$1:$a2)
не подходит
 
Цитата
написал:
я так и не понял, почему Код ? 1=ПРОСМОТР(2;1/($a1$1:a2<>"");$a$1:$a2) не подходит
ну вот файл. вставьте в жёлтую ячейку =ПРОСМОТР(2;1/($a1$1:a2<>"");$a$1:$a2) и посмотрите что будет
Изменено: oleg-zuev - 05.07.2025 20:27:20
 
oleg-zuev, когда правил под новый файл единицу лишнюю оставил, такая работает
Код
=ПРОСМОТР(2;1/($a$1:a2<>"");$a$1:$a2)
Изменено: bigorq - 05.07.2025 20:35:51
 
Цитата
написал:
работает
Круто! Работает! А она обязательно такая длинная? Её возможно как-то укоротить (это неважный момент, просто подумал что функция вроде простая, а занимает много места, хотя может она и не простая вовсе).
И если можно ещё вопрос: Есть простая формула, в частности =E9*F1, находится в строке 9, в столбце F. И если взять строку 9, скопировать и вклеить в любое другое место (например между строками 5 и 6 через "Вставить скопированные ячейки") то F1 меняется на #ССЫЛКА!, а если скопипасть эту строку в строку например 15, то формула становится =E9*F7 и так далее.
Вот как сделать чтобы F1 было F1 когда копируешь строку выше или ниже?
 
Цитата
oleg-zuev написал:
как сделать чтобы F1 было F1 когда копируешь
Код
$F$1
 
Цитата
oleg-zuev написал:
чтобы F1 было F1 когда копируешь строку выше или ниже?
про абсолютные ссылки вы не читали? =E9*F$1

Цитата
oleg-zuev написал:
А она обязательно такая длинная?
это разве длинная?
Изменено: bigorq - 05.07.2025 21:15:48
 
Цитата
написал:
$F$1
Семён Семёныч...!
Большое спасибо! Нет, не читал) Понимаю, что надо бы, раз уж работаю с экселем. И функции и вообще полистать туториалы. Но всё методом прецедентов, как возникает потребность ищу ответ. Спасибо вам!
Страницы: 1
Читают тему
Наверх