3

Я пытаюсь создать точечный график в Excel 2010, используя динамические именованные диапазоны, и у меня возникают проблемы с его работой. Вот простой пример, который терпит неудачу:

  1. Откройте Excel, начиная новую книгу

  2. Введите некоторые данные: Числа, введенные в ячейки A1: B5

  3. В ячейку D1 введите: $A$1:$B$5 . (В моем реальном листе это вычисляется динамически, но проблема с ручным вводом сохраняется).

  4. На ленте нажмите Формулы, Определить имя. Определите MyRange1 как локальное имя листа, используя =INDIRECT(Sheet1!$D$1) как показано ниже: Диалог Новое имя

  5. Нажмите кнопку ОК, а затем вставьте точечную диаграмму.

  6. Откройте диалоговое окно "Выбор данных" и введите ='Sheet1'!MyRange1 Диалог выбора данных

  7. Excel вылетает ...

Microsoft Excel столкнулся с проблемой и должен быть закрыт.

Проблема возникает как в Windows XP, так и в Windows 7 с Excel 2010 в обоих случаях, повторяется каждый раз.


Я также попробовал:

  • Определение отдельных диапазонов для данных x и y и использование диалога Edit Series. После ввода ='Sheet1'!MyXRange в поле значения X, Excel перестает принимать ввод с клавиатуры и мыши, за исключением клавиши Escape, которая выходит из диалогового окна. Если я вернусь только к диалоговому окну, произойдет сбой.

  • Области применения именованного диапазона к книге вместо листа. Это на самом деле останавливает сбой, но я получаю ошибки в диалоге выбора данных в зависимости от того, наберу ли я =MyRange1 или ='Sheet1'!MyRange1:

Ссылка не действительна. Формула в этой книге ...


Это известная проблема или есть где-то сообщить об этом? У меня нет Excel 2007 или 2003 здесь, чтобы проверить, если проблема связана с 2010. Если я не могу заставить это работать, я, вероятно, просто буду использовать VBA вместо динамических именованных диапазонов.


Обновление: я думал, что я понял это (я отправил ответ, теперь удаленный). Я изменил значение в ячейке D1 = $ A $ 1: $ B $ 5 на D1 = 'Sheet1'!$ A $ 1: $ B $ 5, и диаграмма создана правильно. Однако кажется, что когда диаграмма была создана, она не является динамической - она просто использовала текущие значения для создания серий X и Y, поэтому изменение D1 не приводит к обновлению диаграммы.

3 ответа3

3
  1. Когда INDIRECT используется для определения диапазонов, диаграммы часто не используют диапазоны правильно, и часто даже не принимают эти именованные диапазоны. Существуют лучшие (более надежные) способы определения динамических диапазонов, например, с помощью INDEX или OFFSET.

  2. Даже если имя будет распознано диаграммой, оно будет преобразовано в адрес ячейки в поле «Диапазон данных диаграммы» диалогового окна «Выбор источника данных». Имена сохраняются только в диапазонах для X, Y и имени серии для каждой отдельной серии.

  3. Если у вас есть префикс с именем листа в ячейке D1? Графики требуют полностью определенных диапазонов, поэтому, если ячейка D1 содержит Sheet1!$A$1:$B$5 вы можете использовать свое имя в поле Chart Data Range диалогового окна Select Data Source. Обратите внимание, что в точке 2 Excel преобразует этот диапазон в адрес своей ячейки при нажатии кнопки ОК.

3

По ссылке ниже и моему личному тестированию, вы должны ввести ряд данных в виде

'WorkbookName.xls'!RangeNameX

Если ваше имя динамическое, то и итоговая диаграмма тоже будет. Формула, которую я использовал для моего динамического именованного диапазона, была (измените для вашей ситуации и используйте для диапазонов X и Y).

=OFFSET($A$1,0,0,MATCH(1E+306,$A:$A,1),1)

Это работало для того, чтобы сделать диаграмму динамичной, вплоть до добавления вновь добавленных значений в диаграмму (для обновления диаграммы требовались значения X и Y).

Источник, как настроить диаграмму - Microsoft Q & A Site Source для горячего использования динамических диапазонов - OZGrid

2

Вот как я создаю динамический график.

  1. Создайте таблицу из ваших данных.

  2. Выделить стол
  3. Перейдите на вкладку «Вставка» и выберите нужный тип диаграммы.

Когда вы добавляете данные в таблицу, они также обновляются на графике.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .