Вычесть один столбец из каждого столбца в двумерном массиве данных в Excel

Вычесть один столбец из каждого столбца в двумерном массиве данных в Excel

У меня есть двумерный массив данных, который мне нужно обнулить. То есть, я должен вычесть вектор-столбец, который я вычислил, из каждого столбца в матрице.

введите описание изображения здесь

Говоря математическим языком, если мы определим «вектор идентичности», где каждый элемент равен 1, мне нужно сделать:

введите описание изображения здесь

Мне удалось сжать матрицу с 500 тыс. строк, увеличив ее на несколько сотен столбцов, до 160 тыс. строк, увеличив ее менее чем на сотню, но она довольно большая, и перетаскивание ручек, похоже, приводит к сбою Excel.

решение1

Простое вычитание ячеек по ячейкам с заблокированным вектором столбца дельта "$" будет работать для наборов данных обычного размера, например:

=B2 - $I2

Однако, похоже, ваша проблема больше связана с размером данных и сбоем Excel во время простого вычисления вычитания. Возможно, требуемый объем памяти просто превышает то, что доступно вашему компьютеру. Вот несколько предложений, которые можно попробовать:

1. Вычислить с другого листа/рабочей книги, с вычислениями вручную

Что если вы поместите свою таблицу обнуления на новый лист/рабочую книгу и переведете вычисления в режим ручного выполнения? Подготовьте формулы на новом листе:

=Лист1!B2 - $I2

Скопируйте и вставьте, затем нажмите «Рассчитать».

2. Попробуйте использовать формулу массива, так как Excel будет выполнять вычисления в большом объеме.

В качестве альтернативы вы можете попробовать использовать формулу массива для столбца =(B2:B1000 - $I2:$I1000) и CTRL+SHFT+ENTER при выборе всего выходного столбца L2:L1000. Не уверен, что это действительно ускорит процесс, но попробовать стоит.

3. Сохраните файл как двоичный файл Excel (*.xlsb)

Сохранение файла в двоичном формате может снизить требования к памяти или, по крайней мере, нагрузку на процессор при сохранении файла или автоматическом резервном копировании. Смотрите здесьhttps://www.spreadsheet1.com/how-to-save-as-binary-excel-workbook.html

4. Попробуйте использовать облачную или альтернативную электронную таблицу.

Попробуйте обработать данные в Office Online или Google Sheets. Или попробуйте установить Open Office Calc?

5. Используйте 64-разрядный компьютер с 64-разрядной версией Excel.

Вы можете проверить, какой тип Windows (32 или 64 бит) вы используете, нажав «кнопку Windows» + «Пауза / Прервать». Проверьте здесь, чтобы узнать, какой тип вы используете из офисаhttps://www.howtogeek.com/288001/how-to-find-out-which-version-of-microsoft-office-youre-using/

6. Установите глубину стека отмены на 0.

Вы можете временно отключить отмену, установив глубину стека отмены на 0:https://support.microsoft.com/en-us/help/211922/how-to-modify-the-number-of-undo-levels-in-excel

7. Доверяйте файлу

Также попробуйте добавить местоположение файла в качестве доверенной зоны в центре управления. Смотрите здесьhttps://support.microsoft.com/en-us/office/add-remove-or-change-a-trusted-location-7ee1cdc2-483e-4cbb-bcb3-4e7c67147fb4

8. Не используйте Excel

В крайнем случае обработайте данные с помощью Matlab или открытых альтернатив, таких как Octave или SciLab.

/грустное лицо/

Связанный контент