Я хотел бы получить некоторые данные в зависимости от нескольких записей.

Я использую «NB.SI.ENS()», который на английском языке - «COUNTIFS ()», если я не ошибаюсь.

У меня есть несколько записей, которые будут представлять 3D-массив, так как я использую 3 источника. Этими источниками являются Деятельность, Проект и Дата.

Для каждого из них мне нужно сосчитать тройки (активность, проект, дата). Мой пример на рисунке показывает 3 для количества тестов в проекте 1 за 10- й месяц.

Это представление

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

С 3 записями мне нужно сделать столько 2D-массивов, сколько есть данных в третьем массиве.

Я выбрал Dates в качестве третьего массива, поэтому у меня есть 12 2D массивов.

Это использует много времени вычислений из Excel, когда я получаю более 200 строк данных.

Есть ли лучший способ сделать это?

2 ответа2

2

У меня очень грязное решение, но я попробовал и могу получить мгновенный результат для 600 строк данных.

У меня есть настройки экрана для вас (https://image.ibb.co/kqxvYR/tmp.png)

По сути, я объединил три текста вместе, используя символ, и сделал только COUNTIF для этого столбца

Шаг за шагом:

  1. Объединить 3 текста
    1. Используя эту команду [ = CONCAT($ A2, "|", $ B2, "|", $ C2) ] для D2 (увеличьте число на 1 в каждой строке)
    2. Например: A2 = Тест, B2 = Проект 1, C2 = 01/10/2017
    3. Теперь я получил: Тесты | Проект 1 | 01/10/2017
  2. Когда вам нужно искать: вставьте нужные 3 элемента в отдельном месте

    1. Например: F10 = Моделирование, G10 = Проект 2, I10 = 01/10/2017
    2. Снова используйте команду 1.1 [ = CONCAT($ F10, "|", $ G10, "|", $ I10) ] для F12
    3. Теперь F12 будет выглядеть так : Проект 2 | 01/10/2017
    4. Вы можете получить свой результат, используя гораздо более простую команду COUNTIF: = COUNTIF (D2: D14, F12)
  3. Теперь вы можете подумать, что даете этот уродливый тест Modelisation | Проект 2 | 01/10/2017 не accpetabl

    1. Вы можете использовать скрыть его с помощью магии форматирования Excel
    2. Перетащите по всему столбцу D некрасивый текст
    3. Щелкните правой кнопкой мыши> Форматировать ячейку
    4. Затем вкладка Номер> Пользовательский
    5. Введите ;;; в текстовом поле
    6. Тогда уродливый текст больше не виден пользователю

Надеюсь, это поможет вам!

1

После анализа вашего снимка экрана и запроса я создал решение, которое подсчитывает все три действия, приходящиеся на разные даты.Проверьте этот скриншот.

Диапазон данных A434:D459.

Первая формула в B449.

= COUNTIFS($ A $ 434:$ A $ 446, "=" & $ A449, $ B $ 434:$ В $ 446, "=" & $ A $ 448, $ C $ 434:$ C $ 446, "=" & B $ 448)

Формула Sceond в B453.

= COUNTIFS($ A $ 434:$ A $ 446, "=" & $ A453, $ B $ 434:$ В $ 446, "=" & $ A $ 452, $ C $ 434:$ C $ 446, "=" & B $ 452)

Третья формула в B457.

= COUNTIFS($ A $ 434:$ A $ 446, "=" & $ A457, $ B $ 434:$ В $ 446, "=" & $ A $ 456, $ C $ 434:$ C $ 446, "=" & B $ 456)

Перетащите все столбцы Формулы 2 вправо, затем на 2 строки вниз.

Настройте диапазон данных как вам нужно.

Надеюсь, что помощь вам, я отправил после того, как был проверен мной.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .