
Tengo una matriz de datos 2D que necesito volver a poner a cero. Es decir, debo restar un vector de columna que he calculado de cada columna de la matriz.
En términos matemáticos, si definimos un "Vector de identidad" donde cada elemento es 1, debo hacer:
Me las arreglé para reducir la matriz de 500.000 filas en unos pocos cientos de columnas a 160.000 filas en menos de cien, pero es bastante grande y el elemento de arrastre del controlador parece bloquear Excel.
Respuesta1
La resta simple celda por celda con el vector de columna delta "$" bloqueado funcionaría para conjuntos de datos de tamaño normal, por ejemplo
=B2 - $I2
Sin embargo, parece que su problema está más relacionado con el tamaño de los datos y con Excel falla durante un cálculo de resta simple. Podría ser que la cantidad de memoria requerida simplemente exceda la que su computadora tiene disponible. Aquí hay algunas sugerencias para probar:
1. Calcular desde otra hoja/libro de trabajo, con cálculos en manual
¿Qué pasa si coloca su tabla de puesta a cero en una nueva hoja/libro de trabajo y realiza los cálculos en forma manual? Prepara las fórmulas en la nueva hoja:
=Hoja1!B2 - $I2
Copie y pegue, luego presione calcular.
2. Pruebe la fórmula matricial, ya que Excel haría cálculos en masa
Alternativamente, puede intentar usar una fórmula matricial por columna =(B2:B1000 - $I2:$I1000) y CTRL+MAYÚS+ENTRAR mientras selecciona toda la columna de salida L2:L1000. No estoy seguro de si realmente aceleraría las cosas, pero vale la pena intentarlo.
3. Guarde el archivo como un archivo binario de Excel (*.xlsb)
Guardar el archivo en formato binario puede reducir los requisitos de memoria, o al menos la carga de procesamiento al guardar el archivo o las copias de seguridad automáticas. Mira aquíhttps://www.spreadsheet1.com/how-to-save-as-binary-excel-workbook.html
4. Intente utilizar una hoja de cálculo alternativa o basada en la nube.
Intente procesar los datos en Office Online o Google Sheets. ¿O intentar instalar Open Office Calc?
5. Utilice una computadora de 64 bits con una versión de Excel de 64 bits
Puedes comprobar qué tipo de Windows (32 o 64 bits) estás ejecutando presionando "botón de Windows" + "Pausa/Pausa". Marque aquí para saber qué tipo está ejecutando desde Officehttps://www.howtogeek.com/288001/how-to-find-out-what-version-of-microsoft-office-youre-using/
6. Establezca la profundidad de la pila de deshacer en 0
Puede desactivar temporalmente la función deshacer estableciendo la profundidad de la pila de deshacer en 0:https://support.microsoft.com/en-us/help/211922/how-to-modify-the-number-of-undo-levels-in-excel
7. Confía en el archivo
Intente también agregar la ubicación del archivo como zona confiable en el centro de confianza. Mira aquíhttps://support.microsoft.com/en-us/office/add-remove-or-change-a-trusted-location-7ee1cdc2-483e-4cbb-bcb3-4e7c67147fb4
8. No uses Excel
Como último recurso, procese los datos con Matlab o abra alternativas como Octave o SciLab.
/cara triste/