Автоматически сохраняя две таблицы данных Excel в синхронизации (w/out VBA)

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

http://www.get-digital-help.com/2009/04/14/create-a-unique-alphabetically-sorted-list-extracted-from-a-column/

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

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

Это - шкаф, который я имею к получению автоматического поведения обновления.

Sheet1
Symbol     Type    Shares    Price
F          Buy     100       12
MSFT       Buy     100       25  
MSFT       Buy     50        28
F          Buy     100       16
GOOG       Buy     25        550

Sheet2
Symbol                              Quantity
F                                   200     
MSFT                                150
------------------------------------------------------------ // Table Boundary
GOOG                                25
{=UNIQUE_LIST(Sheet1[Symbol], A5)}  =SUMIF(Sheet1[Symbol], A5, Sheet1[Shares])
{=UNIQUE_LIST(Sheet1[Symbol], A6)}  =SUMIF(Sheet1[Symbol], A6, Sheet1[Shares])
... // Formulas start at row 2 and extend down tons of extra rows
    // Table boundary didn't extend to include GOOG

Идеально я хочу, чтобы Sheet2 больше походил на это, где формулы копируются только при необходимости

Sheet2
Symbol                              Quantity
F                                   200     
MSFT                                150
GOOG                                25
------------------------------------------------------------ // Table Boundary
// Table extended and no extra formulas

Добавление строки

0
задан 30.01.2011, 04:12

4 ответа

Кажется, что кто-то был вдохновлен моим вопросом и описал все сообщение в блоге о том, как сделать это

http://www.get-digital-help.com/2011/01/31/tracking-a-stock-portfolio-in-excel-auto-update/

-1
ответ дан 27.11.2019, 20:58

Remeber, что обычно существует много способов достигнуть того же результата с Excel. Возможно, можно использовать функции базы данных. В примере Вы дали при ссылке на базу данных как на Sheet1! A:D или определяют имя, которое относится к той ссылке затем, можно добавить столько строк, сколько Вам нравится. Функции базы данных Unfortunately являются ужасными и трудными использовать из-за способа, которым необходимо указать критерии.

Другая опция состояла бы в том, чтобы использовать массив forumla. что-то как: {=sum (если (sheet1! a2:a999 = "MSFT", sheet1! b2:b999,0))}

0
ответ дан 27.11.2019, 20:58

Вы пишете:

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

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

0
ответ дан 27.11.2019, 20:58

Neil,

При использовании XL 2003 или позже необходимо попытаться поместить исходные данные в Список (XL 2003) или Таблица (то же самое, переименованное в XL 2007, 2010). Затем используйте свой Список/Таблицу в качестве источника Сводной таблицы на другом листе. Это отвечает Вашим требованиям и для данных и для отчета, поскольку я понимаю их. Источник центра расширится и сократится со Списком/Таблицей.

Единственный протест состоит в том, что Сводные таблицы не обновляются автоматически, когда их исходные данные изменяются. Необходимо будет поразить Кнопку Обновить. Если Вы можете использовать VBA затем, Вы могли бы записать код события, который инициировал обновление сводной таблицы каждый раз ячейка в изменениях Списка/Таблицы.

0
ответ дан 27.11.2019, 20:58

Теги

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