2015-10-25 3 views
1

У меня есть большая таблица (150k + rows) в Excel, которую я пытаюсь заполнить на основе некоторой предварительной доступной информации. Я опубликую текущую структуру таблицы и желаемые результаты ниже, но в качестве контура моего проекта: у меня есть три первичных столбца данных, причем четвертая часть может быть полезна в зависимости от рекомендуемых подходов. Существующие данные идентифицируют столбец для идентификатора группы, столбец для их начала года, столбец для их конечного года и столбец за все активные годы (выведенный просто с конца года минус начало года). Существующий диапазон данных выводится из строк отдельных записей участников, но эти идентификаторы удалены. Используя эти данные, моя конечная цель - найти средний размер группы в год. У меня есть ряд инструментов, чтобы подойти к этому, и это в конечном итоге закончится в MySQL. До тех пор я планирую попытаться извлечь из него ряд статистических данных, но опять же, цель состоит в том, чтобы найти средний размер группы (размер, основанный на подсчете числа членов в этой Группе) на год от года способный отображать средний размер за последние 100 лет. Мои данные следующие:Автоматически заполнять большой набор данных на основе диапазонов чисел

| A |  B  |  C  |  D  | 
    | ID | Start Year | End Year | Years Active | 
1 | 101 |  1967  |  1975 |  7  | 
2 | 101 |  1957  |  1965 |  7  | 
3 | 125 |  1960  |  1975 |  15  | 
4 | 136 |  1905  |  1908 |  3  | 
5 | 222 |  1964  |  1975 |  7  | 
6 | 121 |  1964  |  1975 |  7  | 
7 | 102 |  1952  |  1975 |  7  | 
8 | 306 |  1952  |  1975 |  7  | 
9 | 306 |  1972  |  1975 |  7  | 
10| 172 |  1967  |  1971 |  4  | 
11| 411 |  1947  |  1951 |  4  | 
12| 411 |  1946  |  1950 |  4  | 
13| 411 |  1946  |  1950 |  4  | 
14| 411 |  1946  |  1950 |  4  | 
15| 411 |  1946  |  1950 |  4  | 
16| 172 |  1945  |  1949 |  4  | 
17| 172 |  1963  |  1967 |  4  | 
18| 301 |  1948  |  1952 |  4  | 
19| 301 |  1948  |  1952 |  4  | 
20| 301 |  1972  |  1976 |  4  | 

Представленное выше представление о том, как мои данные в настоящее время находятся в Excel, до 150 784 строк. Мой текущий путь заставил меня подумать, что мне нужно будет взорвать дату между началом года и концом года, чтобы узнать, какой член был активен в этом году, и для какого идентификатора группы. Из этого я знаю, что могу справиться с длинным способом выполнения некоторых подзадач, чтобы выяснить, что мне нужно, но мне интересно, может ли кто-нибудь подумать о схеме формулы или макросе, чтобы сделать эту задачу чуть менее невыполнимой. Я чувствую, что теряюсь в многоосевом подходе, кажется, что ему нужно избегать делать это за каждый год (1899-2015 для полного набора данных). Я надеюсь, что я скучаю по деревьям, глядя в лес, и есть очевидное решение/подход, чтобы принять, но любые советы или помощь, которые вы можете предоставить, были бы искренне оценены. Заранее благодарю тех, кто вносит свой вклад!

+0

_I разместит мою текущую структуру таблицы и желаемые результаты below_ где желаемая структура результатов? – BrakNicku

ответ

0

Возможно расширить ваши данные, скажем, с годами в row1 (начиная с в E1) и E2 и т.д.:

=--AND($B2<=E$1,E$1<=$C2) 

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

enter image description here

+1

То, что я думал о том, чтобы идти, если более элегантное решение не найдено. Я пытаюсь повторить ваши результаты, но у меня есть некоторые трудности, в настоящее время работаю над этим. Спасибо за руководство. –

+0

Я думаю, вы можете найти PT полезный, но с 150,784x120 вам рекомендуется избавиться от значений «0», прежде чем пытаться сгладить таблицу, такую ​​как я показал, - что VBA может. Но если вы используете тег VBA, вы должны отправить попытку кода. – pnuts

+0

Я согласен на удаление значений 0, так как моя цель - графа. Мне, казалось, пришлось переделать мои заголовки в значения, чтобы ваша формула вернула действительные результаты, и это похоже на то, что она делает. Сейчас хрустят все 18 миллионов + клеток. –

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