powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Подменить в массиве пустые строки на 0
8 сообщений из 8, страница 1 из 1
Подменить в массиве пустые строки на 0
    #34592277
Deggasad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я по сути для себя решение уже придумал, но решил, иожет есть и лучше варианты.

Есть массив состоящий из цифр и строк типа ="" необходимо вернуть массив, содержащий вместо "" - 0
Цифры в массиве есть как положительные, так и отрицательные, как с дробной частью, так и без оной.

Всё это в формуле Exel

мой вариант
С указанной точностью:
=ЗНАЧЕН(ТЕКСТ(A1:A100;"0,0####")&0)

С точностью исходных данных
=ЗНАЧЕН(ПОДСТАВИТЬ(A1:A100&",0";",";"";2))

Буду благодарен за любую помощь, в том числе и за указание на возможные ошибки.
То что в региональных параметрах разделитель запятая должна быть понятно.
...
Рейтинг: 0 / 0
Подменить в массиве пустые строки на 0
    #34593083
KL (XL)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DeggasadЯ по сути для себя решение уже придумал, но решил, иожет есть и лучше варианты.

Есть массив состоящий из цифр и строк типа ="" необходимо вернуть массив, содержащий вместо "" - 0
Цифры в массиве есть как положительные, так и отрицательные, как с дробной частью, так и без оной.

Всё это в формуле Exel

мой вариант
С указанной точностью:
=ЗНАЧЕН(ТЕКСТ(A1:A100;"0,0####")&0)

С точностью исходных данных
=ЗНАЧЕН(ПОДСТАВИТЬ(A1:A100&",0";",";"";2))

Буду благодарен за любую помощь, в том числе и за указание на возможные ошибки.
То что в региональных параметрах разделитель запятая должна быть понятно.

если числа не ввиде текста, то наверное лучше и быстрее так (но может я чего не понял):

=ЕСЛИ(A1:A100<>"";A1:A100;0)

KL
[MVP - Microsoft Excel]
...
Рейтинг: 0 / 0
Подменить в массиве пустые строки на 0
    #34593104
Deggasad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KL (XL)

если числа не ввиде текста, то наверное лучше и быстрее так (но может я чего не понял):

=ЕСЛИ(A1:A100<>"";A1:A100;0)

KL
[MVP - Microsoft Excel]

Да, наверное недостаточно информации в вопросе!

Мне без формулы массива нужно, чтобы подставить в суммпроизв() без ошибки
Например

=СУММПРОИЗВ(($BA$1:$IV$1<>"")*(МЕСЯЦ(BA$1:$IV$1)=МЕСЯЦ($E$1))*ЗНАЧЕН(ПОДСТАВИТЬ($BA$3:$IV$3&",0";",";"";2))

Не слишком ли я замудрил?
...
Рейтинг: 0 / 0
Подменить в массиве пустые строки на 0
    #34593286
KL (XL)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А не лучше ли поправить формулы возвращающие ="" ? ;-) Есть конечно решения для твоей задачи, но это будет "Пиррова победа", т.к. потери в скорости будут значительными, да и летучесть прибавится :-(

KL
[MVP - Microsoft Excel]
...
Рейтинг: 0 / 0
Подменить в массиве пустые строки на 0
    #34593489
Deggasad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KL (XL)А не лучше ли поправить формулы возвращающие ="" ? ;-) Есть конечно решения для твоей задачи, но это будет "Пиррова победа", т.к. потери в скорости будут значительными, да и летучесть прибавится :-(

KL
[MVP - Microsoft Excel]

Формул ссылающихся на этот диапазон не так уж и много (порядка десятка, может два десятка). Тем более уже очень много сделано под такой вариант, я было хотел поменять на нули сначала, но в красоте сразу проиграл, т.к. либо хвост весь нулями светится, либо если не отображать нулевые значения там где надо они не показываются. Тем более сразу много других косяков вылазит, условные форрматы по другому думать, модули смотреть - менять. Поэтому я решил так оставить. А какие есть варианты?
...
Рейтинг: 0 / 0
Подменить в массиве пустые строки на 0
    #34593651
Deggasad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно, конечно не заморачиваться формулу массива написать да и всё!

Что-то вроде этого:
=СУММ(ЕСЛИ($BA$1:$IV$1="";0;ЕСЛИ(МЕСЯЦ(BA$1:$IV$1)<>МЕСЯЦ($E$1);0;ЕСЛИ($BA$3:$IV$3="";0;$BA$3:$IV$3))

Но вчера времени на это потратил довольно много, поэтому хотелось бы узнать какие варианты есть.
...
Рейтинг: 0 / 0
Подменить в массиве пустые строки на 0
    #34593850
KL (XL)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DeggasadМожно, конечно не заморачиваться формулу массива написать да и всё!

Что-то вроде этого:
=СУММ(ЕСЛИ($BA$1:$IV$1="";0;ЕСЛИ(МЕСЯЦ(BA$1:$IV$1)<>МЕСЯЦ($E$1);0;ЕСЛИ($BA$3:$IV$3="";0;$BA$3:$IV$3))

Но вчера времени на это потратил довольно много, поэтому хотелось бы узнать какие варианты есть.

если так не нравятся формулы массива, то засунь след выражения в имена (Вставка-Имя-Присвоить...):

массив1 = ЕСЛИ($BA$1:$IV$1<>"";$BA$1:$IV$1)
массив2 = ЕСЛИ($BA$3:$IV$3<>"";$BA$3:$IV$3)

и используй наздоровье с СУММПРОИЗВ()

KL
[MVP - Microsoft Excel]
...
Рейтинг: 0 / 0
Подменить в массиве пустые строки на 0
    #34593992
Deggasad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KL (XL)

если так не нравятся формулы массива, то засунь след выражения в имена (Вставка-Имя-Присвоить...):

массив1 = ЕСЛИ($BA$1:$IV$1<>"";$BA$1:$IV$1)
массив2 = ЕСЛИ($BA$3:$IV$3<>"";$BA$3:$IV$3)

и используй наздоровье с СУММПРОИЗВ()

KL
[MVP - Microsoft Excel]

Прикольно! Для общего развития и в частности для решения задачи.
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Подменить в массиве пустые строки на 0
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]