Remkomplekty.ru

IT Новости из мира ПК
6 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Ограничение строк в excel

Почему в Microsoft Excel все еще существует ограничение по строкам?

34 [2009-02-09 04:53:00]

До Office 2007 Excel имеет максимум 65 000 строк. Office 2007 столкнулся с тем, что максимум до 1 миллиона строк, что, конечно же, приятнее; но мне любопытно — почему вообще существует предел? Очевидно, что производительность будет замедляться экспоненциально, поскольку вы увеличиваете размер электронных таблиц; но не очень сложно оптимизировать Excel для этого, начиная с небольшого листа и динамически «переустанавливая» его только по мере необходимости. Учитывая, сколько работы это должно было сделать, чтобы увеличить лимит с 65 000 до 1 миллиона, почему они не прошли весь путь, поэтому он ограничивался только объемом доступной памяти и дискового пространства?

excel limits row-number

2 ответа

25 Решение some [2009-02-09 05:54:00]

(обновлено из-за ошибки. Предложение всем: не отправляйте сообщение SO, пока вы не проснетесь)

Возможно, из-за оптимизации. Excel 2007 может содержать максимум 16 384 столбца и 1 048 576 строк. Странные числа?

14 бит = 16 384, 20 бит = 1 048 576

14 + 20 = 34 бит = может храниться более одного 32-разрядного регистра.

Но им также необходимо сохранить формат ячейки (текст, номер и т.д.) и форматирование (цвета, границы и т.д.). Предполагая, что они используют два 32-битных слова (64 бит), они используют 34 бита для номера ячейки и имеют 30 бит для других вещей.

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

Обновление 2016:

  • Открытые книги: ограничено доступной памятью и системными ресурсами.
  • Размер рабочего листа: 1,048,576 строк (20 бит) на 16 384 столбца (14 бит)
  • Ширина столбца: 255 символов (8 бит)
  • Высота строки: 409 баллов.
  • Разрывы страниц: 1,026 горизонтальный и вертикальный (неожиданный номер, вероятно, неправильный, 10 бит — 1024)
  • Общее количество символов, которое может содержать ячейка: 32 767 символов (подписанные 16 бит)
  • Символы в верхнем или нижнем колонтитуле: 255 (8 бит)
  • Листы в рабочей книге: ограничено доступной памятью (по умолчанию 1 лист)
  • Цвета в рабочей книге: 16 миллионов цветов (32 бит с полным доступом к 24-битовому спектру цветов).
  • Именованные представления в рабочей книге: ограничено доступной памятью
  • Уникальные форматы ячеек/стилей ячеек: 64 000 (16 бит = 65536)
  • Стили стилей: 256 (8 бит)
  • Вес линии и стили: 256 (8 бит)
  • Уникальные типы шрифтов: 1024 (10 бит) глобальных шрифтов, доступных для использования; 512 на книгу
  • Форматы чисел в рабочей книге: от 200 до 250, в зависимости от языковой версии Excel, которую вы установили
  • Имена в рабочей книге: ограничено доступной памятью
  • Windows в рабочей книге: ограничен доступной памятью
  • Гиперссылки на листе: 66,530 гиперссылок (неожиданный номер, возможно, неправильный. 16 бит = 65536)
  • Панели в окне: 4
  • Связанные листы: ограниченная доступная память
  • Сценарии: ограничено доступной памятью; в сводном отчете показаны только первые 251 сценарий
  • Изменение ячеек в сценарии: 32
  • Регулируемые ячейки в Solver: 200
  • Пользовательские функции: ограниченная доступная память
  • Диапазон масштабирования: от 10% до 400%.
  • Отчеты: ограничено доступной памятью
  • Сортировка ссылок: 64 в одном виде; неограниченный при использовании последовательных сортировок
  • Уровни отмены: 100
  • Поля в форме данных: 32
  • Параметры рабочей книги: 255 параметров для каждой книги
  • Элементы, отображаемые в раскрывающихся списках фильтра: 10 000

В слове — скорость. Индекс для до миллиона строк подходит для 32-битного слова, поэтому его можно эффективно использовать на 32-разрядных процессорах. Функциональные аргументы, которые вписываются в регистр CPU, чрезвычайно эффективны, в то время как те, которые больше, требуют доступа к памяти при каждом вызове функции, намного медленнее. Обновление электронной таблицы может быть интенсивной операцией, включающей многие ссылки на ячейки, поэтому скорость важна. Кроме того, команда Excel ожидает, что любой, кто имеет дело с более чем миллионом строк, будет использовать базу данных, а не электронную таблицу.

Трюк №8. Ограничение диапазона прокрутки листа Excel

Если вы постоянно перемещаетесь по своей электронной таблице или не хотите, чтобы читатели могли просматривать определенные данные, удобно ограничить видимую область электронной таблицы только необходимыми
данными.

Все листы Excel, созданные в Excel 97-2003, имеют 256 столбцов (от А до IV) и 65 536 строк. Чаще всего на листе используется лишь небольшая доля доступных ячеек. Немного усилий — и вы сможете ограничить область прокрутки листа только ячейками, содержащими нужные данные. Затем можно поместить данные, которые пользователь видеть не должен, в ячейки за пределами области прокрутки. Это также упростит переход по ячейкам на листе, так как часто возникает ситуация, когда пользователь неожиданно оказывается на 50 000 строке и начинает кричать, что на листе совершенно невозможно найти необходимые данные.

Самый простой способ установить границы — просто спрятать все неиспользуемые столбцы и строки. На своем листе найдите последнюю строку, содержащую данные, и целиком выделите строку под ней, щелкнув кнопку строки. Удерживайте клавиши Ctrl и Shift и нажимайте стрелку вниз, чтобы выделить все строки ниже. Чтобы спрятать их, выберите команду Формат → Строка → Скрыть (Format → Row → Hide). To же самое сделайте и с неиспользуемыми столбцами: найдите последний столбец с данными, полностью выделите столбец справа от него, удерживайте клавиши Ctrl и Shift, нажимая стрелку вправо, а затем выберите команду Формат → Столбец → Скрыть (Format → Column → Hide). Если все произошло как надо, используемые ячейки будут окружены серой областью, за пределы которой пе.рейти невозможно.

Читать еще:  Формула поиска в excel

Второй способ определить границы — указать допустимый диапазон в окне Properties листа. Правой кнопкой мыши щелкните ярлычок листа в левом нижнем углу экрана и в контекстном меню выберите пункт View Code (Исходный текст). В Windows выберите команду View → Project Explorer (Ctrl+R), а в Mac OS X нажмите сочетание клавиш Apple+R, чтобы открыть окно Project Explorer. Если окно Properties не открыто, нажмите клавишу F4. Выберите нужный лист, и перейдите к свойству ScrollArea в окне Properties.

Теперь в Project Explorer выберите лист, область прокрутки которого хотите ограничить, а затем в окне Properties (рис. 1.12) перейдите к свойству ScrollArea. В соответствующем поле значений справа введите желаемые границы листа, например, $A$1:$G$50.

Рис. 1.12. Окно Properties в Project Explorer

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

Правой кнопкой мыши щелкните ярлычок с именем того листа, где нужно ограничить диапазон прокрутки, и в контекстном меню выберите команду Исходный текст (View Code), затем введите код из листинга 1.13.

// Листинг 1.13 Private Sub Worksheet_Activate () Me. Scroll Area = «A1:G50» End Sub

Как обычно, нажмите сочетание клавиш Alt/Apple+Q, чтобы вернуться в Excel и сохранить книгу. Хотя вы не сможете увидеть результат в виде серой области в первом способе, вы все же не сможете прокрутить лист или выбрать что-либо за пределами заданной области.

// Листинг 1.14 Sub МуМасrо() ‘ ‘ ‘макрос МуМасго ‘макрос записан 19/9/2011 ву Excel2010.ru ‘ ‘ ActiveSheet.Scroll Area = «» Range(«Z100»).Select Selection.Font.Bold = True ActiveSheet.Scroll Area — «$A$1:$G$50″ Sheets(‘Daily Budget»).Select ActiveSheet.Scroll Area = «» Range («T500»).Select Selection.Font.Bold = False ActiveSheet.Scroll Area = «$A$1:$H$25» End Sub

Наш записанный макрос выбирает ячейку Z100 и форматирует ее, делая шрифт жирным. Затем он выбирает лист с именем Daily Budget, выбирает на нем ячейку Т500 и отменяет жирный шрифт. Мы добавили строку ActiveSheet.ScrollArea = «», поэтому на листе можно выбрать любую ячейку, а затем восстановить желаемый ограниченный диапазон прокрутки. Выбирая другой лист (Daily Budget), мы снова позволяем коду выбирать любую ячейку на этом листе, а затем восстанавливаем ограниченный диапазон.

Третий метод, наиболее гибкий, автоматически ограничивает область прокрутки используемым диапазоном ячеек на листе, для которого вы создаете следующий код. Чтобы применить этот способ, правой кнопкой мыши щелкните ярлычок с именем нужного листа, в контекстном меню выберите пункт Исходный текст (View Code) и введите код, приведенный в листинге 1.15.

// Листинг 1.15 Private Sub Worksheet_Activate() Me.ScrollArea = Range(Me.UsedRange, Me.UsedRange(2.2)).Address End Sub

Теперь нажмите сочетание клавиш Alt/Apple+Q или щелкните крестик в правом верхнем углу окна, чтобы вернуться в Excel и сохранить книгу.

Этот макрос будет выполняться автоматически каждый раз, когда вы будете активировать лист, где он хранится. Однако некоторые проблемы могут возникнуть, если понадобится ввести данные за пределами текущего используемого диапазона. Чтобы избежать этого, примените стандартный макрос, который восстановит область прокрутки, равную полному листу. Выберите команду Сервис → Макрос → Редактор Visual Basic (Tools → Macro → Visual Basic Editor), затем выберите команду Insert → Module и введите код из листинга 1.16.

// Листинг 1.16 Sub ResetScrollArea() ActiveSheet.ScrollArea = «» End Sub

Теперь нажмите сочетание клавиш Alt/Apple+Q или щелкните крестик в правом верхнем углу окна, чтобы вернуться в Excel и сохранить книгу. Если хотите, можно упростить способ выполнения макроса, назначив ему сочетание клавиш. Выберите команду Сервис → Макрос → Макросы (Tools → Macro > Macros) или нажмите сочетание клавиш (Alt/Option+F8). Выберите ResetScrollArea (это имя вашего макроса), щелкните кнопку Параметры (Options) и выберите сочетание клавиш.

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

Технические характеристики и ограничения Excel

Технические характеристики и ограничения листа и книги

Количество открытых книг

Ограничено объемом доступной оперативной памяти и ресурсами системы

Общее количество строк и столбцов на листе

1 048 576 строк и 16 384 столбца

1 026 горизонтальных и вертикальных

Общее количество знаков в ячейке

Число знаков в верхнем и нижнем колонтитуле

Максимальное количество построчных переводов в одну ячейку

Читать еще:  Wrap text в excel

Количество листов в книге

Ограничено объемом доступной оперативной памяти (по умолчанию 1 лист)

Количество цветов в книге

16 миллионов цветов (32-битовый спектр с полным доступом к 24-битовому спектру)

Именованные представления в книге

Ограничено объемом доступной оперативной памяти

Количество уникальных форматов/стилей ячеек

Количество стилей заливки

Количество стилей и толщин линий

Количество уникальных шрифтов

1 024 доступных глобальных шрифта; 512 шрифтов в каждой книге

Количество численных форматов в книге

От 200 до 250, в зависимости от установленной языковой версии Excel

Количество имен в книге

Ограничено объемом доступной оперативной памяти

Количество окон в книге

Ограничено объемом доступной оперативной памяти

Гиперссылки на листе

66 530 гиперссылок

Количество областей в окне

Количество связанных листов

Ограничено объемом доступной оперативной памяти

Ограничено объемом доступной оперативной памяти; в итоговый отчет включается 251 сценарий, начиная с первого

Количество изменяемых ячеек в сценарии

Количество вычисляемых ячеек в надстройке «Поиск решения»

Количество пользовательских функций

Ограничено объемом доступной оперативной памяти

от 10 до 400 процентов

Ограничено объемом доступной оперативной памяти

Количество ссылок для сортировки

64 для однократной сортировки; не ограничено для последовательных сортировок

Количество уровней отмены

Количество полей в форме данных

Количество параметров в книге

255 параметров в одной книге

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

Количество независимых ячеек, которые можно выделить

2 147 483 648 ячеек

Максимальные пределы объема памяти и размера файла для книг с моделями данных

В 32-разрядной среде выделяется 2 гигабайта (ГБ) виртуального адресного пространства, которое совместно используется приложением Excel, книгой и надстройками, работающими в рамках одного процесса. Доля адресного пространства, выделяемого для модели данных, может достигать 500–700 мегабайт (МБ), но может быть и меньше, если загружаются другие модели данных и надстройки.

64-разрядная среда не накладывает жестких ограничений на размер файлов. Размер книги ограничен только объемом доступной памяти и ресурсами системы.

Начиная с Excel 2016, функция, поддерживающая большое количество адресов, позволяет приложению 32-bit использовать память дважды, когда пользователи работают в 64-разрядной операционной системе Windows. Дополнительные сведения можно найти в разделе изменение возможностей, использующих большие адреса в Excel.

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

Почему в Microsoft Excel все еще существует ограничение на число строк? [закрыто]

До выпуска Office 2007 в Excel было не более 65 000 строк. Office 2007 увеличил его до 1 миллиона строк, что, конечно, лучше; но мне любопытно — почему вообще есть предел? Очевидно, что при увеличении размера электронной таблицы производительность будет снижаться экспоненциально; но это не должно быть очень трудно, чтобы Excel оптимизировать для этого, начиная с небольшого листа и динамически «изменяя размер» его только по мере необходимости. Учитывая, сколько работы нужно было, чтобы увеличить лимит с 65 КБ до 1 миллиона, почему они не прошли весь путь, поэтому он ограничен только объемом доступной памяти и дискового пространства?

2 ответа

(обновлено из-за ошибки . Предложение всем: не публикуйте на SO, пока вы не проснулись)

Вероятно, из-за оптимизации. В Excel 2007 может быть не более 16 384 столбцов и 1 048 576 строк. Странные числа?

14 бит = 16 384, 20 бит = 1 048 576

14 + 20 = 34 бита = можно хранить более одного 32-битного регистра.

Но они также должны хранить формат ячейки (текст, число и т. д.) и форматирование (цвета, границы и т. д.). Предполагая, что они используют два 32-разрядных слова (64-разрядные), они используют 34-разрядные для номера ячейки и имеют 30-разрядные для других целей.

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

Обновление 2016 года:

  • Открытые книги: ограничено доступной памятью и системными ресурсами
  • Размер листа: 1 048 576 строк (20 бит) на 16 384 столбца (14 бит)
  • Ширина столбца: 255 символов (8 бит)
  • Высота строки: 409 баллов
  • Разрывы страниц: 1026 по горизонтали и вертикали (неожиданное число, возможно, неправильное, 10 бит — 1024)
  • Общее количество символов, которое может содержать ячейка: 32 767 символов (16 бит со знаком)
  • Символы в верхнем или нижнем колонтитулах: 255 (8 бит)
  • Листы в рабочей книге: ограничено доступной памятью (по умолчанию 1 лист)
  • Цвета в книге: 16 миллионов цветов (32 бита с полным доступом к 24-битной цветовой гамме)
  • Именованные представления в книге: ограничено доступной памятью
  • Уникальные форматы ячеек /стили ячеек: 64 000 (16 бит = 65536)
  • Стили заполнения: 256 (8 бит)
  • Вес и стили строки: 256 (8 бит)
  • Уникальные типы шрифтов: 1024 (10 бит) глобальных шрифтов, доступных для использования; 512 за рабочую книгу
  • Числовые форматы в книге: от 200 до 250, в зависимости от установленной языковой версии Excel
  • Имена в книге: ограничено доступной памятью
  • Windows в книге: ограничено доступной памятью
  • Гиперссылки на листе: 66 530 гиперссылок (неожиданное число, возможно, неправильное. 16 бит = 65536)
  • Панелей в окне: 4
  • Связанные листы: ограничено доступной памятью
  • Сценарии: ограничено доступной памятью; в сводном отчете показаны только первые 251 сценарий
  • Изменение ячеек в сценарии: 32
  • Настраиваемые ячейки в Солвере: 200
  • Пользовательские функции: ограничено доступной памятью
  • Диапазон масштабирования: от 10 до 400 процентов.
  • Отчеты: ограничено доступной памятью
  • Сортировать ссылки: 64 в одной сортировке; неограниченно при использовании последовательных сортировок
  • Уровень отмены: 100
  • Поля в форме данных: 32
  • Параметры рабочей книги: 255 параметров для каждой рабочей книги
  • Элементы, отображаемые в раскрывающихся списках фильтров: 10 000
Читать еще:  Excel application методы

Одним словом — скорость. Индекс для до миллиона строк помещается в 32-разрядное слово, поэтому его можно эффективно использовать на 32-разрядных процессорах. Аргументы функций, которые помещаются в регистр ЦП, чрезвычайно эффективны, в то время как более крупные аргументы требуют доступа к памяти при каждом вызове функции, что значительно медленнее. Обновление электронной таблицы может быть интенсивной операцией, включающей много ссылок на ячейки, поэтому скорость важна. Кроме того, команда Excel ожидает, что любой, имеющий дело с более чем миллионом строк, будет использовать базу данных, а не электронную таблицу.

Microsoft Excel

трюки • приёмы • решения

Как ограничить полезную площадь в листах таблиц Excel

Вы никогда не хотели оставить некоторые ячейки доступными для изменения, тогда как весь рабочий лист будет защищен? Например, настроить лист так, чтобы можно было активизировать или изменять только ячейки из определенного диапазона. Решить данную задачу можно двумя способами: с помощью свойства ScrollArea и с использованием защиты листа.

Установка свойства ScrollArea

Свойство ScrollArea определяет видимый диапазон рабочего листа. Чтобы ограничить полезную площадь листа до определенного диапазона, выполните следующие действия.

  1. Откройте вкладку Разработчик. По умолчанию она не отображается, поэтому выберите команду Файл ► Параметры, затем в открывшемся диалоговом окне Параметры Excel перейдите к разделу Настройка ленты и установите флажок Разработчик в списке справа.
  2. Выполните команду Разработчик ► Элементы управления ► Свойства для отображения окна Properties (рис. 24.1).
  3. В поле ScrollArea окна Properties введите диапазон адресов и нажмите Enter. Вы не можете указать диапазон с помощью мыши — придется ввести его адрес
    вручную.

Рис. 24.1. Используйте окно Properties, чтобы установить область прокрутки для листа

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

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

  1. Сверните окно книги нажатием Ctrl+F5.
  2. Щелкните правой кнопкой мыши на строке заголовка книги и в контекстном меню выберите команду Исходный текст. Это действие отобразит модуль кода Эта Книга для книги.
  3. Введите следующий код VBA в модуль кода Эта Книга (корректируя имя листа и диапазон адресов):

Private Sub Workbook_Open() Worksheets(«Лист1»).ScrollArea = «C6:F13» End Sub

Если книга имеет расширение XLSX, необходимо сохранить ее как поддерживающую макросы (с расширением XLSM).

При открытии книги процедура Workbook_Open выполняется автоматически и свойство ScrollArea действует постоянно. Но, применяя данный метод, вы не сможете полностью ограничить доступ пользователей к частям книги. Так, продвинутый пользователь может открыть окно Properties и удалить содержимое поля ScrollArea или отключить макросы в открытой книге. Кроме того, чтобы отключить выполнение макроса Workbook_Open, достаточно нажать Shift при открытии файла.

Использование защиты листа

Второй метод ограничения полезной площади листа опирается на разблокирование ячеек и защиту книги.

  1. Выделите все ячейки, которые должны остаться незаблокированными. Это могут быть отдельные ячейки или любое количество диапазонов.
  2. Нажмите Ctrl+1. В появившемся диалоговом окне Формат ячеек перейдите на вкладку Защита и снимите флажок Защищаемая ячейка.
  3. Затем выберите команду Рецензирование ► Изменения ► Защитить лист и в открывшемся диалоговом окне Защита листа снимите флажок Выделение заблокированных ячеек (рис. 24.2).
  4. Если требуется, укажите пароль, который нужно ввести, чтобы снять защиту с рабочего листа, и нажмите ОК.

Рис. 24.2. Используйте диалоговое окно Защита листа, чтобы пользователь не мог выделять заблокированные ячейки

После выполнения этих шагов только разблокированные ячейки (выделенные на шаге 1) будут доступны пользователям.

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

Ссылка на основную публикацию
ВсеИнструменты
Adblock
detector
×
×