Страницы: 1
RSS
Если ячейка заполнена, то появляется "да"
 
Необходимо прописать:
Если ячейка заполнена, то появляется "да", если ячейка не заполнена, то пусто
Не понимаю как выбрать именно "заполненность ячейки"
 
=ЕСЛИ(ДЛСТР(A1);"да";"")
Я сам - дурнее всякого примера! ...
 
kuklp, Круто!
Но как?) Впервые встречаю подобный метод определения условия заполнения ячейки.
Буду благодарен, если объясните как именно работает данная комбинация. Ну с "ЕСЛИ" то все понятно, но вот как с ДЛСТР?
Получается, что если ДЛСТР возвращает какое-либо значение -это принимается как истина?
Нужно бежать со всех ног, чтобы только оставаться на месте, а чтобы куда-то попасть, надо бежать как минимум вдвое быстрее!
 
ДЛСТР(), во первых, неявно преобразует значение аргумента в текст, так что результатом будет "длина строки текста, видимого в ячейке" (кстати, если в ячейке будет, например, число 0 - то ячейка все равно будет считаться "заполненной", поскольку "0" - это не "пустая строка").
ЕСЛИ() первым параметром требует "логическое выражение", но, опять же, способна интерпретировать числовые значения как логические (0 интерпретируется как ЛОЖЬ, любое значение "не ноль" - как ИСТИНА.

Кстати, в коде макросов может применяться аналогичный подход (как прямо, так и в комбинациях сравнения длины значения с нулём):
Код
If Len(Cells(1, 1).Text) Then ... ' в ячейке что-то есть
If Len(Cells(1, 1).Text) = 0 Then ... ' в ячейке пусто
Изменено: AndreTM - 21.07.2017 18:31:20
 
Цитата
AndreTM написал:
If Len(Cells(1, 1).Text) Then
Код
[b1]=iif(len([a1]),"да","")
;)
Я сам - дурнее всякого примера! ...
 
Ну, я сначала тоже хотел изобразить именно вариант с IIf(), но потом всё же решил, что лучше будет выражение "аналогичный подход" (вообще для общих случаев), а не "аналогичная формула" (применительно к конкретному текущему вопросу)...  :)  
Страницы: 1
Читают тему
Наверх