Hace 3 años | Por NubisMusic a genbeta.com
Publicado hace 3 años por NubisMusic a genbeta.com

"Ya es posible, en principio, escribir cualquier cálculo en el lenguaje de fórmulas de Excel", explica Microsoft. Esto significa que Excel puede ser considerado oficialmente un lenguaje de programación, uno que según la empresa ya es "Turing completo", y es todo gracias a un proyecto llamado LAMBDA. La cantidad de cosas que se pueden hacer en Excel da para días y días de conversación. Hemos visto hojas de cálculo que nunca creerías demostrando lo poderosa que puede ser la herramienta de Microsoft cuando la usa alguien con mucha habilidad.

Comentarios

Varlak

#6 Que maravilla lol

D

#6 Lloro lol

Priorat

#1 Yo he visto generar miles de ofertas automáticamente que incluyen cálculos de la producción que generará una planta solar, o memorias técnicas de proyectos y con excel.

Así que te lo puedes creer.

Arlick

#27 comentario underated

PacoJones

#27 here we go again

EmuAGR

#27 JavaScript hasta en la sopa, con lo chapucero que era su diseño. lol

BiRDo

#49 Y es

JungSpinoza

#49 #97 Bueno, tened en cuenta que a Brendan Eich le dieron solo diez dias para diseñar el lenguaje mas usado del mundo.

https://thenewstack.io/brendan-eich-on-creating-javascript-in-10-days-and-what-hed-do-differently-today/

EmuAGR

#100 Ya, pero se podría haber hecho mucho más estricto o haber hecho una versión mejorada quitando las partes legacy, como Python 3 es a Python 2.

m

#27: Y Python, que tiene en común con Blank su uso de carácteres en blanco para ordenar el código.

¿No me crees? Prueba a pegar un código de Python aquí, en un comentario y luego me dices qué tal funciona, luego lo pruebas con JavaScript y verás, que aunque el formato se quede tocado, sigue funcionando.

adrigm

#65 Bueno para eso se han inventado los controles de versiones nadie hoy en dia tiene que pegar código en ningún lado.

Por otra parte Javascript desde que existe Typescript ya es usable en grandes proyectos sin tener tendencia a querer cortarte las venas.

m

#80: Yo tengo la teoría de que en el capítulo de Black Mirror de San Junipero les convierten en código JavaScript, o algo parecido, porque si gomas las iniciales son las mismas pero cambiando el orden.

Sobre lo de pegar código, aún así no puedes hacer comentarios en código fuente, por ejemplo:
if(el_usuario_ha_leído_hasta_aquí) ">

a

#80 "nadie hoy en dia tiene que pegar código en ningún lado"

El 50% de mi trabajo consiste en "pegar código".

El otro 50% de mi trabajo consiste en "copiar código".

mecha

#80 ...dijo alguien que aún no conoce stackoverflow... roll

JungSpinoza

#65 Malditos espacios. Lo peor es YAML y todos los hijos del demonio que se creen que escribir configuraciones en YAML para hacer deploys en Kubernetes es algo aceptable. Hay un sitio reservado en el infierno para ellos!

trigonauta

#42 Sí, tienes razón, pero eso va en las personas, no en el software. Si pones una forma sencilla y accesible, va a usarse más que otra más compleja, costosa y/o complicada de obtener.
Si usas una hoja excel para hacer una lista de objetivos terroristas o, peor aún, de meneantes, tampoco está bien.

l

#42 En mi trabajo usan hojas de excel y los datos los toma del servidor donde está SQLServer. Lo único que hacen en VBA es darle la forma adecuada a esos datos.

Nylo

#42 La queja "como Excel hace de todo la gente lo usa para lo que no debe" es lógica y tiene sentido. Pero es un problema que la forma de resolverlo es decirle a la gente que NO use Excel para ese tipo de cosas.
Tu postura de "Excel es basura porque permite hacer de todo" en cambio carece totalmente de sentido. Que pueda hacer prácticamente de todo es la razón por la que es buenísimo. Es la polla.
Tu postura es como decir que http es malísimo porque te pueden espiar lo que envías. Pues será malísimo si lo utilizas para cosas que no deben ser espiadas, pero es perfectamente razonable para muchísimas otras cosas diferentes. La responsabilidad de usarlo bien o mal recae en quien elige la herramienta, no en la propia herramienta.

parrita710

#32 Creo que todo el mundo sabe que se refiere a usar Excel como DB. Anda que no mola abrir una hoja de 2GB con miles de millones de filas.

trigonauta

#46 A partir de unos cientos de miles de filas y archivos de más de 100 mb ya le va costando. Pero a varios millones no llega, existe un límite de filas (un millón aprox).

S

#46 Yo esas cosas hace 15 años las solucionaba vinculando ficheros de Excel. Abres un archivo pero los datos están disgregados en otras hojas de Excel.

frg

#82 Los círculos del averno esperan a la gente que utiliza tan buenas prácticas" en hojas de cálculo

JungSpinoza

#82 #96 Me imagino que tendrias muchos amigos en otros departamentos esperando con hachas y un sopletes

C

#96 A mi me han llegado Excels con enlaces a portátiles de personas que habían dejado la empresa hacía más de un año....

S

#96 #103 #108 Solo aprendí ligeras nociones de dBaseIII en la mili, pero que muymuymuy ligeras. No tengo idea de bases de datos o de gestores.
Excel es una "base de datos" cojonuda para un negado como yo pero en su momento con buen conocimiento de Excel y recursos para crecer por ahí.
Con este gran conocimiento de la vida era el único que llevaba la informática en un despacho de arquitectos (15 PCs) y siendo el servidor mi terminal (Sic)...
Empresa Paco con "departamento de informática" Pepe Gotera.

La España de los 90 era asina, cariño.

Evidentemente todos los ficheros de Excel estaban en la misma carpeta del servidor, siempre fui mu pofesional
Solo tengo un curso de Basic y otro de COBOL de 1988.

Arrodillaos ante mí guruses de la informática!!!

MR_samson

#23 #32 Disculpar que os mente, pero me gustaría saber vuestra opinión.

En mi caso llevo un tiempo aprendiendo a programar mediante VBA. He mirado mucho acerca de cómo introducirme en el tema de la programación y creo que he elegido este lenguaje de introducción por un tema práctico y os explico:

Trabajo en una Pyme y llevo la administración y trato de automatizar otros procesos que van relacionados al servicio. Se que otros lenguajes eran mejores o más completos, pero no sabría cómo implementarlos desde tan poco conocimiento en un entorno de pyme pequeña donde se trabaja con excel mayormente, sin ERP.

Con VBA a medida que aprendo puedo ir automatizando procesos e ir practicando en la misma empresa. En cambio desde mi ignorancia pienso que para poder aplicar esas cosas con Java, Phyton o el que querais. Necesitaría mucho más conocimiento.

Por lo tanto mi intención de aprender en este mundillo, es crear un sistema que cubra todas las necesidades los tiros van por lo que dice #35 que si, será muy cutre porque soy un noob, pero la empresa también es bastante troglodita, así que ambos nos beneficiamos. A partir de ahí cuando ya tenga algo de conocimiento pues puedo empezar a trastear con bases de datos y aprender un lenguaje más "cualificado" por decirlo de alguna manera.

No sé si estoy muy equivocado o lo veis una manera correcta de empezar.

Un saludo y gracias.

trigonauta

#64 Mi trabajo es técnico pero no soy informático, así que te doy mi opinión desde ese punto de vista. Creo que es la opción más realista y práctica de empezar, y que te puede dar opciones de hacer casi cualquier cosa, si no te hace falta tratar datos de forma muy confidencial o altos volúmenes (aunque podrías llegar a vincular excel con una base de datos externa).

#64 Yo creo que lo que haces es lo normal, intentar mejorar tu puesto de trabajo pero no creo que a eso se le pueda llamar aprender a programar.

BiRDo

#32 La gestión de recursos que hace Excel es una puta mierda de tamaño estratosférico. Para procesos automáticos, le he visto tardar minutos lo que un programa bien diseñado con una base de datos habría tardado milisegundos en hacer, estar a punto de quemar micros, sobrepasar límites de memoria...

Y se utiliza Excel para muchísimas cosas para las cuales hay que utilizar un sistema de base de datos (y no me refiero a Access) más una aplicación de gestión por cuestiones de velocidad, seguridad y potencia. Sin ir más lejos, te recuerdo la última hoja excel que nos jodió la vida cuando se utilizó para contabilizar a los pacientes enfermos de COVID si no recuerdo mal en UK. Se sobrepasó el máximo de filas en cierto momento y ale, todo a la mierda.

D

#23 yo lo uso para hacerme los horarios, las dietas, etc, con colorines guays y tipografías chulas

kampanita

Como que Excel....en todo caso será VBA

Urasandi

#2 A meter una fórmula lo llaman programar.

JungSpinoza

#2 #7 Excel es Turing-complete

frankiegth

#7 #21. Apuesto a que se trata de 'Programación Funcional'. Y sí, se puede hacer cualquier programa con ella.

Otro tema es que '€xcel' sea la mejor opción para meterse en programación funcional...
https://es.wikipedia.org/wiki/Programaci%C3%B3n_funcional
https://en.wikipedia.org/wiki/Structure_and_Interpretation_of_Computer_Programs
https://racket-lang.org/

#21 CSS también.

Z

#21 Ahora, pero la inmensa mayoría de los excel desarrollados no eran con esa característica. Así que la noticia es una exageración. Y que sea turing completo no quiere decir que sea bueno para programar, ni cómodo, ni siquiera usable. Como ejemplo, Brainfuck, que también es Turing completo.

j

#7 Y también las variables (cada celda es una variable), gráficos, bucles, estadísticas, ecuaciones paramétricas, ecuaciones condicionadas, cálculo matricial, sumatorios, dibujos (rellenando o señalando cada línea de la celda mediante grabación de macros), etc.

P

#10 Como te fíes de las macros que te genera automáticamente Excel date por jodido.

El código que genera es malo a conciencia. Se puede utilizar para hacer una "base" del programa y luego meterte con la desbrozadora a quitar líneas absurdas que te mete y a mejorar otras cosas que hace en varias líneas y se pueden hacer en una sola o directamente de otra forma.

trigonauta

#20 Hablo de VBA sobre excel. Las rutinas que puedes crear desde el editor de alt+F11.

kampanita

#20 Programar asi las macros es de novatos, no me jodas!

m

#30: Pero lo de grabar está bien cuando no tienes mucha idea, porque el código que genera es funcional, así que tienes algo por donde empezar a programar lo que necesitas. Con FreeCAD yo lo he hecho alguna vez, sufriendo el Python, pero bueno, más o menos funcionaba.

kampanita

#71 Sí, eso te lo reconozco, yo a veces también lo hago por vagueza , pero luego siempre dejo el código básico y quito todas los comandos inútiles y que ralentizan la ejecución, select, activate...etc.

P

#30 Estoy totalmente de acuerdo y es un recurso muy útil cuando tienes que enseñar a hacer macros a gente que no tiene formación técnica ni la quiere tener.
Es mucho más amigable decirle a un usuario que parta de una macro generada por excel y luego la retoque con cuatro cositas. Así conseguirá algo decente y funcional.
Si empiezas a contarle el modelo de objetos VBA desconectan en el minuto 1.

Nylo

#20 yo las macros que hago nunca parten de nada generado automáticamente. Las programo de cero.
Y he llegado incluso a programar juegos en Excel. Tengo versiones del Settlers (Colonos), del Bloodbowl y de algún juego más hechas en Excel, para poder jugarlos sin tener los elementos físicos del juego (tableros, dados, figuras, fichas...).
En Excel y con el VBA se pueden hacer cosas muy chulas con sólo una pizca de ingenio.

Ovlak

#2 Se refiere a la función LAMBDA, no a las macros.

kampanita

#31 Hasta ahora Excel tenía dos limitaciones fundamentales que evitaban que pudiese ser considerado como un lenguaje de programación completo:

Excel solo admitía valores escalares: números, cadenas y booleanos.
No dejaba que los usuarios definiesen nuevas funciones.

Ovlak

#41 Más que falso es engañoso. Excel permitía definir funciones de usuario pero dependían (como bien indicas en el comentario anterior) de VBA así que Excel no era Turing completo por sí mismo. Con la función LAMBDA se podrían definir funciones por el usuario sin programarla en VBA.

kampanita

#47 No sé, pero programar funciones complejas mediante Lambda...no lo veo.Qué pasa si necesitas variables en el procedimiento, o llamadas a otras funciones, o arrays....
Me parece complicarlo demasiado. Si ya hay formulas que cuesta un huevo leerlas y entenderlas por la cantidad de funciones y parametros y condicionales y .... pues no te digo nada si tienes que meter una función compleja en una sola linea ...

Ovlak

#69 Es la magia de la programación funcional, que aunque pueda resultar engorrosa no deja de ser Turing completo. Para mí no es práctico a gran escala, aunque sí veo prácticas pequeñas dosis de expresiones lambda en el ámbito de la programación imperativa o utilizar esta función LAMBDA para algunas chorradillas y no tener que tirar de macro. Pero vamos, lo que se viene a decir aquí es que con las lambda Excel pasa a ser Turing completo y cualquier algotimo pasa a ser implementable a través de él, no que sea deseable programar un ERP en una función Excel lol.

kampanita

#76 Me viene a la cabeza la programación en LISP , que....su puta madre!

Ovlak

#77 Haskell... Llegué a sentir verdadero odio por este lenguaje. Pero bueno, de aquella horrible experiencia al menos me quedaron más o menos interiorizados los conceptos para el uso de expresiones lambda.

EspañoI

#2 VBA lleva tocado de muerte unos años. Poco a poco powerquery y Dax están tomando el liderazgo en Excel, y por lo visto hay planes de integrar Python..

Por cierto, powerquery rula sobre un intérprete de Javascript embebido en Excel.

uyquefrio

Son ganas de inventar la rueda... Si lo que quieren es romper la felicidad y todo resto de ella en una personas ya se inventaron lenguajes como Brainfuck. (https://es.wikipedia.org/wiki/Brainfuck)

llorencs

Por los ejemplos que he visto, lambda me parece una forma muy poco legible y que al final se acaba complicando un huevo para entender que demonios hace esa función. Y como vayas combinando lambdas con lambdas, como dice que hace me parecece un brainfuck total como dice #4

D

Estoy deseando que salga el doom...

leporcine

#8 pues hace tiempo habia un laberinto en 3d 'oculto' en el programa

JungSpinoza

#8 Te refieres a esto

EmuAGR

#25 ¿Por qué la gente está tan demente? Podríamos tener ya curado el covid, el cáncer y el hambre en el mundo.

A

Cuando consigan que al introducir un número no te lo cambie por una fecha a lo mejor me planteo usarlo

c

#17 a ver si escribes 3/5 te lo reformatea como fecha, si quieres q te calcule pones =3/5 y soncambis formato te puede mostrar como decimal o fraccion. Si quieres texto q te miestre 3/5 eacribes ‘3/5

B

#11 Define primero como número el formato de la celda.

Además, si escribes 24-3 excel entiende que es una fecha. Si quieres que te lo trate como número, escribe =24-3.

have_a_nice_day

#18 Si escribes =24-3 te sale 21.

B

#34 Correcto. Es exactamente lo que digo.

have_a_nice_day

#40 Disculpa pensaba que a lo que te referías era a poner una celda como texto para evitar que te lo coja como una fecha

B

#45 No problem!. Ya que lo mencionas, losde lograr que excel "se entere" de si quieres texto o número en una celda, si que a veces da bastante por culo.

A

#68 Es lo que viene a decir #34 .... si escribo 24-3 quiero escribir 24-3 y quiero que sea eso lo que se quede en la casilla, no quiero que me lo cambie por un 21, o un "24 de marzo", ni siquiera quiero que me lo sugiera. Tampoco quiero que en el proceso de importación/exportación entre Excel y OpenOffice, o una version antigua de excel, donde en muchos casos se pierde el formateado de la celda, y te saque ventanitas del tipo "formatear celdas" que la gente le da OK sin mirar, y te hace un desastre.

Es conocido el caso de investigaciones que usaban Excel para guardar datos de información genética, los famosos GTCGAGT... que excel formateaba y generaba datos erroneos.

Ahora estoy teniendo el siguiente problema con excel, introduzco un campo con el siguiente formato: TEXTO_TEXTO_TEXTO_1 ... y lo que hace es reemplazarme el "_1" del final por un "₁" , porque igual coincide con vete tu a saber que formato y sobreentiende que lo tiene que corregir.

Así que el problema es que, como excel intenta facilitar la vida en los usos mas habituales, en muchos casos sobreentendiendo que es lo que quieres escribir, en los usos menos habituales te hace un destrozo. Y no vale formatear las celdas porque el formateado en muchos casos se pierde en las importaciones/exportaciones.

M

#88 El caso de investigaciones que usan Excel ocurre porque abren los CSV en vez de importarlos desde la pestaña de Datos. Si los importas Excel no cambia nada.

Para que no te transforme nada tienes que formatearlo como texto. Si te sale la ventana de "formatear celdas" tendrás que cerrarla, ahí la culpa es de que la gente no mira. En cuanto a que se pierde el formato con versiones antiguas, no me ha ocurrido pero si lo dices será.

Sería bueno que Excel tuviese la opción de deshabilitar todas las transformaciones pero en la mayoría de los casos los problemas ocurren porque la gente no usa bien Excel y no establece los formatos.

japeal

#18 si escribes "+24-3" hace lo mismo que "=24-3" y el "+" es más facil de teclear que el "="

B

#39 Pues si, toda la razón. El rollo de poner el "=" es ya por costumbre de otras aplicaciones.

M

#11 O te estoy entendiendo mal o el problema es que no entiendes el programa, sin acritud.

Que yo sepa Excel no convierte ningún número en fecha, tú pones 3542 y eso es un número, tú pones 123,7832, etc. y eso es un número y te lo trata como tal. No conozco ningún caso en el que Excel convierta un número en fecha. A lo mejor estoy equivocado.

Si te refieres a introducir 24-3 como dice #18 y que te dé el resultado de 24 menos 3, eso no es un número, es una fórmula y debes meterlo como =24-3 para que te dé 21. De lo contrario obviamente te lo va a convertir a fecha pero es porque 24-3 así escrito no es un número, es una fecha y por eso te la convierte, o en todo caso será texto pero no un número. Si lo que buscas es el resultado entonces escríbelo como fórmula: =24-3

Si te refieres a escribir 24-3 y que te lo deje tal cual así, 24-3 en vez de 24-marzo, entonces, otra vez, eso no es un número, es texto y para que no te lo convierta en fecha primero debes definir la celda como texto, para que Excel sepa a qué atenerse. Entonces úsalo correctamente y define el formato de celda como texto.

Y ya está, no se me ocurre ningún supuesto en el que Excel convierta un número en fecha, así que creo que te has expresado mal.

Nylo

#68 En líneas generales tienes razón, pero te digo un caso en el que Excel efectivamente puede llegar a convertir lo que debería ser un texto en una fecha: al importar datos de otro programa. Me ha pasado montones de veces. Tïpica tabla en un PDF que quieres copiar en excel, lo seleccionas todo y lo copias y luego al pegar Excel decide por su cuenta qué tipo de valores contiene cada celda. Y si tenías un número como "6.08" pero excel está configurado para usar la coma como separador de decimales, te va a considerar ese número como si fuese texto, en vez de un número. Y si tienes otra con "6.789" va a pensar que el punto es un separador de miles y te lo transforma en 6789. Y si se encuentra con un "2-3" va a pensar que es una fecha en vez de texto y te lo va a transformar en el número que sea que corresponde a la fecha 2 de Marzo de 2021. Cuando igual el significado original era un marcador de un partido. Y la cuestión es que una vez que Excel decide por su cuenta cómo tratar el dato, ya no lo puedes corregir salvo volviendo a meterlo a mano. Una vez que te transforma el 2-3 en 44257 y encima te lo presenta como 02-mar ya no puedes decirle que lo deshaga. Toca borrarlo y reescribir.

M

#89 Primero habría que ver si puedes importar los datos a través de la pestaña Datos en vez de copiar y pegar.
Si no se puede, primero estableces el formato en las celdas del Excel a texto y luego pegas el contenido como texto, así no te va a transformar nada.

De todas formas, sería más fácil si el Excel tuviese una opción de deshabilitar por completo las transformaciones.
Algo que también es engorroso es que las transformaciones son irreversibles, si 2-3 te lo transforma a 2-marzo, cuando cambies el formato de la celda a texto te aparecerá 44257 en vez de 2-3

hijomotoss

#28 Doy fe de ello, una jefa me dijo el que sepa manejar tablas dinamicas vale mucho. Da igual que seas un genio en cualquier lenguaje.

Gresteh

#33 A nivel de empresa las tablas dinámicas son una "maravilla" los usuarios hacen cosas muy virgueras con ellas... y luego son incapaces de mantenerlas, acaban teniendo excels monstruosos inmanejables que son comparatidos por docenas de personas y que enlazan 70 excels diferentes que a su vez tienen referencias a centenares de archivos y todo ello en carpetas compartidas... eso si luego se quejan de que el excel va lento y que tardan 3 horas en hacer una operación...

hijomotoss

#84 Totalmente de acuerdo y esperate que se ponga de moda el power bi de microsoft 365, lo vais a flipar.

baronrampante

Un lenguaje de programación que es como un huevo de Pascua dentro de una aplicación.

Ovlak

#38 Yo diría que sí.

e

Excel es de calle el mejor producto de Microsoft. Se puede usar de muchas formas.

e

Nadie duda de las virgerías implementables en un fichero excel. Lo que se duda fuertemente es que alguien que lo ve por primera vez sea capaz de entender qué pasa ahí dentro y se atreva a modificar algo.

No me funciona LAMBDA.

B

#19 De momento es solo para unos usuarios determinados, algo llamado "insiders".

e

#43 No soy insider, lástima, porque tengo el caso perfecto para una de estas, sin ser tan complejo que una macro sea más razonable.
Además las macros huelen a virus y a la gente no le gustan, en cambio esto es perfecto.

Juan_Manuel_2

Si, Excel es maravilloso, hasta que el genio que creó un ERP con esas planillas, y de la que depende toda la empresa, se vá.
O hasta que necesitan muchos registros.
QUE NO ES ESCALABLEEEEEEE, y después lo tenemos que migrar a algo que sí lo sea!

m

#35: Pero hay veces que los negocios empiezan de algo pequeño y siempre piensas que con un Excel es suficiente.

D

Cómo se entere Iturriaga la tenemos montada.

P

#14 Colgado detected

S

No me he pasado yo horas jugando al comecocos y al Tetris con excel. Aceptar macros

d

Al fin los "jefecillos" de las Grandes "carnicas" podran volver a programar....

M

#5 Pero sino saben hacer ni un CONSULTAV, que te pide miles de informes porque no saben hacer ni una consulta.

dummy

Si no se puede jugar al Doom desde el excel no me vale..

elzahr

Si no lo era ya, es que yo he montado ahí unas flipadas que vamos. Pocas cosas no se "pueden hacer".

j

También dicen que Access es una base de datos

c

Ya han portado quake?

Gresteh

#73 Dales tiempo

c

Los virus y troyanos en hojas de cálculo van a ser lo mas de lo mas...

D

Todos los informáticos a actualizar el C.V. en Infojobs y Likedin

EsePibe

Yo hice un comecocos en Excel. Pero tuve que usar un ocx de Visual Basic por que Excel no tiene ningún timer.

J

A riesgo de romper alguna regla de meneame, ¿alguien sabe de algún editor de formulas de excel tipo WYSIWYG o alguna forma visualmente intuitiva de componer fórmulas largas? Es una M como un piano escribir formulas largas con muchos paréntesis.

1 2