2016-07-18 5 views
-1

Вот скриншот из набора данных выборки, что я пытаюсь работать в Excel enter image description here
Я хочу использовать либо формулу Excel или сценарий VBA для заполнения firm_anamoly столбца (сейчас он заполнен вручную).формула Excel или VBA скрипт для группирования данных

Логика заключается в том, что для набора строк в заданном фирменном номере, если в этом наборе содержится более одного «кода сектора23», вывод в столбце «firm_anamoly» должен быть «firm_count», иначе «firm_anamoly» должен должен быть установлен на 0.

Как вы можете видеть для firm_number = 5, так как секторы23-кодов равны 3 и 5, для firm_anamoly установлено значение 3, то есть firm_count.

У меня есть около 500 тыс. Строк данных, с которыми я пытаюсь работать.

спасибо.

+1

Вместо того, чтобы ссылаться на потенциально вредоносный сайт/файл, можете ли вы опубликовать скриншот (или, желательно, скопировать/вставить данные), того, что вы пытаетесь выполнить? Я (и я предполагаю, что другие) стесняюсь загружать случайные файлы в Интернете, особенно там, где задействованы макросы/код. Кроме того, напишите, что вы пробовали до сих пор, и посмотрите [как спросить] (http://stackoverflow.com/help/how-to-ask) – BruceWayne

+0

@BruceWayne Оцените обратную связь. – Raj

ответ

1

Есть два способа сделать это. Один из способов - сделать это, не преобразовывая диапазон в формат таблицы.

Метод 1: Вы можете ввести эту формулу в ячейке D2: {= ЕСЛИ (И (IFNA (ЕСЛИ (А2 = $ A: $ A, $ B: $ B, Н. А.()) = B2, значение TRUE)) 0, C2)}

Это даст вам результаты, которые вы хотите, я верю, но это, вероятно, переполнит ваш Excel, если у вас есть менее мощная система.

Я бы рекомендовал Способ 2: Преобразование диапазона в таблицу Excel. Затем введите эту формулу в первой строке столбца «firm_anomoly»: {= IF (AND (IFNA (IF ([@ [firm_number]] = [firm_number], [sector23code], NA()) = [@ sector23code] , TRUE)), 0, [@ [firm_count]])}

Эта версия будет работать гораздо более эффективно, чем метод 1.

Оба эти примеры формул массива таким образом, когда вы вводите их нажать Ctrl + shift + enter, чтобы получить фигурные скобки. Поскольку у вас столько данных, вы должны обязательно создать резервную копию перед вводом этой формулы; формулы массива на больших наборах данных иногда могут привести к сбою Excel.

+0

Спасибо за ответ. Однако я не могу заставить ваше решение работать. Но формулы возвращают «Неверная ошибка имени». – Raj

+0

Какой из них вы использовали? – NPComplete

+0

Я попробовал их обоих. – Raj

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