Извлечение чисел из нескольких строк в массиве, а затем сумма - Excel - PullRequest
0 голосов
/ 10 октября 2018

У меня есть массив, как видно на этом скриншоте: enter image description here Он динамически создается из стеков данных над ними в столбце.Я хотел бы работать с числами, которые вы видите в этих ячейках без , используя вспомогательные ячейки.Это возможно?

Например, я хотел бы найти среднее количество линий или средний вес или объем (фут = кубические футы).

Я могунайти способ сделать это с помощью вспомогательных ячеек, достаточно легко, но могу ли я использовать одну формулу для анализа данных и затем скомпилировать их все в одну ячейку?

Если ответ «нет», я будупримите это как жизнеспособный ответ и отметьте его как таковой, если больше ничего не ожидается.

Ответы [ 4 ]

0 голосов
/ 10 октября 2018

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

, например, #, ##0 «строк» ​​

Тогда вы можете просто использовать стандартные формулы AVERAGE и т. Д.

0 голосов
/ 10 октября 2018

Вы можете использовать формулу массива, подобную этой, и перетащить ее вниз.

Используйте опцию «Оценить формулу», чтобы увидеть, как она работает поэтапно, или вы можете выбрать часть формулы и нажать F9, чтобы увидеть результатвыбранная деталь.

= СРЕДНИЙ (ИГРЕК (ЗНАЧЕНИЕ (ВЛЕВО (B31: K31, ПОИСК ("", B31: K31) -1)), B31: K31))

enter image description here

0 голосов
/ 10 октября 2018

Основываясь на ответе @Solar Mike, я обнаружил, что могу встраивать массив в функцию LEFT, и если вы введете формулу в виде формулы массива, вы сможете выполнить эту работу.

Решение, которое работает для этого: =SUM(LEFT(B31:L31,FIND(" ",B31:L31,1)-1)*1)

Его необходимо ввести как формулу массива, используя Ctrl + Shift + Enter это то, что ставит «фигурные скобки» вокруг формулы, и вы знаете, что сделали это правильно {}

Спасибо @Solar Майк, я узнал что-то новое сегодня!

0 голосов
/ 10 октября 2018

Только для строк, при условии, что у вас есть текст "строки" с номером, вы можете использовать:

=left(A1,find(" ",A1,1)-1)

для каждой ячейки и затем вычислять оттуда ... Предполагается, что данные начинаются в ячейкеA1 ...

Иногда результат 4 не распознается как число, поэтому:

=left(A1,find(" ",A1,1)-1)*1

может изменить это ..

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