2015-01-17 4 views
0

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

Прямо сейчас, я использую функцию countifs от excel, но для вычисления требуется очень много времени. (невозможно автоматическое вычисление выключения)

Основная ценность собирается как дата, а диапазон дат составляет около 3 лет, поэтому я должен поместить множество формул, чтобы охватить весь диапазон значений.Как оптимизировать COUNTIFS с очень большими данными

resultresult

На картинке ниже источник данных верхний не может быть изменен. , а дно - это тот, который я создал сам (может измениться). Я использую weeknum, чтобы изменить дату на неделю.

datadata

Есть ли лучше формула или любые способы, чтобы сделать этот файл быстрее? Любые предложения приветствуются!
Я думал об использовании Pivot Table, но я не знаю, как сделать сводную таблицу из такого рода источников данных.
PS. VBA - последний вариант.

Вы можете скачать файл примера здесь: https://www.mediafire.com/?t21s8ngn9mlme2d

+0

Что такое «очень долгое время»? –

+0

Я имею в виду время вычисления. Поскольку мне нужно создать формулу 2 уровней (1, чтобы конвертировать дату в weeknum, другой - подсчитывать weeknum с условиями) – Krsnik195

+0

Я имел в виду, сколько времени занимает фактически –

ответ

2

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

Ваш вопрос вызвал у меня любопытство, поэтому я попробовал и приурочил его. Я по существу установил два столбца из более чем 100 000 номеров rand, выбрав из 1-1000, а затем попытался сделать счет на двух столбцах, если они были равны. Я сделал макрос, который я могу запустить, который отключает автокалибровку, вставляет время начала, вычисляет, а затем вставляет время окончания. Я выделил в желтом разницу во времени.

Сначала я попробовал свой путь, два критерия, COUNTIFS: enter image description here

Затем я попытался объединить (СЦЕПИТЬ) два столбца, чтобы увидеть, если я мог бы сделать это проще, только имея критерии один СЧЕТЕСЛИ и набор данных. Это не так. см. результат ниже: enter image description here

И наконец, осознавая, что происходит. Я решил сделать критерии, которые соответствуют только значению FIRST в количестве, которое нужно искать. Я существенно уменьшил количество символов для проверки на ячейку. Это положительный результат. См. Ниже: enter image description here

Поэтому мое предложение состоит в том, чтобы ограничить длину слов, которые вы сравниваете, в любом случае. Вы в основном смотрите даты, поэтому вам, возможно, придется проявить творческий подход, но это, по-видимому, является наилучшим способом, не прибегая к ручному расчету.

+0

Ваше предложение очень интересно. Я попытаюсь адаптироваться с моими данными :) – Krsnik195

1

Я работал с Excel листов одинакового размера. Особенно, если вы используете данные на регулярной основе, я бы сердечно рекомендовал переключиться на соответствующую базу данных на основе SQL, Access или что-то подходящее для вашей цели. Я делаю чудеса для скорости, а также вы не столкнетесь с ограничениями размера Excel. :-)

Вы можете импортировать данные, которые у вас сейчас довольно легко. Я счастлив, как моллюск с моим postgresql db.

Смежные вопросы