Матрица Excel Условие - есть ли более быстрый путь?

435
xhaltar

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

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

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

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

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

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

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

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

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

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

0
Если я не ошибаюсь, вы пытаетесь посчитать мудрые записи Проекта для этих 3 разработок, испытаний и мобилизации ,,, напишите ?? Один совет Дата не следует использовать в качестве критерия BCoz, все строки имеют одинаковую дату 01/10/2017. Rajesh S 6 лет назад 0
Вы правы, мой образ недостаточно четкий. Есть, конечно, ряды с разными датами. Я обновил пример с другими датами (ноябрь, декабрь) xhaltar 6 лет назад 0

2 ответа на вопрос

2
Ng Sek Long

У меня очень грязное решение, но я попробовал и могу получить мгновенный результат для 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. Тогда уродливый текст больше не виден пользователю

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

Да, это очень помогает. Для 200 строк данных я перешел с 10 секунд вычислительного времени на 3 секунды xhaltar 6 лет назад 0
Рад, что помогает! Ng Sek Long 6 лет назад 0
@NgSekLong, Решение - это, в конечном счете, Решение, и вы сделали это по-своему. Вспомогательная колонка является одним из полезных инструментов, но многим пользователям это не нравится. Но я всегда ценю усилия. Rajesh S 6 лет назад 0
1
Rajesh S

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

Диапазон данных 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 строки вниз.

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

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

@Xhaltr, я использовал самый лучший метод, чтобы отследить действия, приходящиеся на разные даты, в 2 сегментах, потому что для лучшего понимания. Rajesh S 6 лет назад 0
Твой ответ интересный, но я не понимаю, чем он отличается от моего? Не могли бы вы быть более точным? xhaltar 6 лет назад 0
Мое решение именно то, что вы спросили. Я обнаружил, что это лучший метод, который я могу предложить вам составить Таблицу проектов, относящихся к датам. Если вам нужно другое, просто опубликуйте снимок экрана выходного формата, который я создам. Rajesh S 6 лет назад 0

Похожие вопросы