Excel: как умножить с пробелами ячейки в диапазоне? - PullRequest
0 голосов
/ 27 марта 2019

Формула отлично работает, однако, когда у меня есть пустые ячейки в диапазоне A1: A3, я получаю ошибку: # ЗНАЧЕНИЕ! Как исправить? Исходное сообщение: Excel: динамическая формула для изменения размера единицы в КБ, МБ, ГБ, ТБ и т. Д. ... Автоматически

Версия: 1

=TRUNC(SUMPRODUCT(LEFT(A1:A3,FIND(" ",A1:A3)-1)*10^(MATCH(RIGHT(A1:A3,2),{"KB","MB","GB","TB"},0)*3))/(10^(INT((LEN(SUMPRODUCT(LEFT(A1:A3,FIND(" ",A1:A3)-1)*10^(MATCH(RIGHT(A1:A3,2),{"KB","MB","GB","TB"},0)*3)))-1)/3)*3)),2)&" "&INDEX({"KB","MB","GB","TB"},INT((LEN(SUMPRODUCT(LEFT(A1:A3,FIND(" ",A1:A3)-1)*10^(MATCH(RIGHT(A1:A3,2),{"KB","MB","GB","TB"},0)*3)))-1)/3))

Версия: 2

=TRUNC(SUMPRODUCT(A1:A4*10^(MATCH(B1:B4,{"KB","MB","GB","TB"},0)*3))/(10^(INT((LEN(SUMPRODUCT(A1:A4*10^(MATCH(B1:B4,{"KB","MB","GB","TB"},0)*3)))-1)/3)*3)),2)&" "&INDEX({"KB","MB","GB","TB"},INT((LEN(SUMPRODUCT(A1:A4*10^(MATCH(B1:B4,{"KB","MB","GB","TB"},0)*3)))-1)/3))

Ответы [ 2 ]

0 голосов
/ 27 марта 2019

Вам нужно будет добавить IFERROR, чтобы зафиксировать ошибку, возникающую из-за пустых ячеек.

IFERROR Заставляет нас использовать Ctrl-Shift-Enter, чтобы ввести формулу и сделать ее массивом. Так как мне пришлось использовать запись массива, я изменил на SUM, чтобы сэкономить ввод в этой массивной формуле.

=TRUNC(SUM(IFERROR(LEFT(A1:A3,FIND(" ",A1:A3)-1)*10^(MATCH(RIGHT(A1:A3,2),{"KB","MB","GB","TB"},0)*3),0))/(10^(INT((LEN(SUM(IFERROR(LEFT(A1:A3,FIND(" ",A1:A3)-1)*10^(MATCH(RIGHT(A1:A3,2),{"KB","MB","GB","TB"},0)*3),0)))-1)/3)*3)),2)&" "&INDEX({"KB","MB","GB","TB"},INT((LEN(SUM(IFERROR(LEFT(A1:A3,FIND(" ",A1:A3)-1)*10^(MATCH(RIGHT(A1:A3,2),{"KB","MB","GB","TB"},0)*3),0)))-1)/3))

Будучи формулой массива, ТРЕБУЕТСЯ формула вводится с помощью Ctrl-Shift-Enter вместо Enter при выходе из режима редактирования.

enter image description here

0 голосов
/ 27 марта 2019

Я нашел хорошее руководство, которое помогает здесь .

Подводя итог:

Чтобы игнорировать формулу или не вычислять, если конкретныйв Excel пустая ячейка, мы должны проверить, что конкретная ячейка пуста или нет с помощью функции IF, если она не пустая, мы можем продолжить вычисление с исходной формулой.

=IF(Specific Cell<>"",Original Formula,"")

Итак, вы можете попробовать это:

=IF(CELL_TO_CHECK_IF_BLANK<>"",INSERT_FORMULA_HERE,"")

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...