Как я могу использовать Sumif с Лен и если оценки - PullRequest
0 голосов
/ 01 мая 2019

Клиенту нужен чистый способ в Excel (без вспомогательных столбцов) суммировать данные в таблице на другом листе на основе проекта, которому он назначен

Они кодируют свои проекты как 'aa 1.1 sap', 'aa 1.1 ar', 'aa 1.2', ..., 'aa 1.10', 'aa 1.11' и т. Д. Только у 1.1 есть дополнительные символы после , но они хотят видеть все 1.1, 1.2, 1.10 и т. д. как группу. Я создал вспомогательный столбец для извлечения только чисел и использовал sumif для них, но им не нужен этот вспомогательный столбец (очень неприятно, так как я могу просто спрятать его в таблице). Я пробовал различные комбинации sumif с len и if безуспешно. Они также не хотят сводной таблицы. Просто простая таблица с номером проекта (1.1, 1.2, 1.15) и итогом рядом с ним. Я также сталкиваюсь с проблемой с Excel, путая 1.10 с 1.1, но я должен быть в состоянии понять это.

Name    Amount  Type
proj13  42  it 1.1 sap
proj14  4444    it 1.1 sap
proj15  566565  it 1.1 ar
proj16  4566    it 1.1 ar
proj8   0.1 it 1.10
proj9   2646    it 1.2
proj10  6546    it 1.2
proj11  46451   it 1.13
proj12  77556   it 1.15
proj13  42  it 1.15

Итак, вспомогательный столбец находится в столбце D с формулой =IF(IF(LEN(C2)=7,MID(C2,4,4),MID(C2,4,3))="1.10",1.01,IF(LEN(C2)=7,MID(C2,4,4),MID(C2,4,3)))

(сейчас я обманываю, превращая 1.10 в 1.01) Это возвращает столбец, показывающий только цифры в коде проекта

И итоги используют =SUMIF(D:D,"="&K2,B:B), где K хранит значения (1.1, 1.2, 1.3 и т. Д.), Основанные только на числе

Итого должно быть равно:

1.1     575617
1.10    0.1
1.2     9192
1.13    46451
1.15    77598

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

Ответы [ 2 ]

2 голосов
/ 01 мая 2019

Вы можете использовать SUMIF и подстановочные знаки.

Для особого случая 1.1 используйте пробел + подстановочный знак:

=SUMIF(C:C,"*"&E2&" *",B:B)

Для всех остальных случаев:

=SUMIF(C:C,"*"&E3,B:B)

enter image description here

1 голос
/ 01 мая 2019

Для отдельной формулы нужно изменить на SUMPRODUCT:

=SUMPRODUCT(--ISNUMBER(SEARCH(" "&E2&" "," "&$C$2:$C$11&" ")),$B$2:$B$11)

enter image description here

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