[RESUELTO]Asignar valor a celda dependiendo de otra
[RESUELTO]Asignar valor a celda dependiendo de otra
Hola a todos.
Quisiera pedir vuestra ayuda a ver como debería escribir este código para que funcione.
Resulta que necesito asignar a la celda B1, un valor específico, dependiendo del valor que tenga la celda A1 y para eso, he incluido la función "=SI" en la celda C1 y le he asignado el siguiente código:
=SI(A1="a";B1="1-Alta";SI(A1="m";B1="2-Media";SI(A1="b";B1="3-Baja";0))) y éste no funciona al enviar el resultado a la celda B1.
Podría haber escrito el siguiente código en la celda B1 que sí funciona y lo tendría parcialmente solucionado, ya que devuelve el resultado en la misma celda.
=SI(A1="a";"1-Alta";SI(A1="m";"2-Media";SI(A1="b";"3-Baja";0)))
Pero el problema es que luego cuando quiero ordenar las filas por orden ascendente o descendente, no me deja, ya que las celdas con códigos permanecen protegidas y es esencial poder ordenarlas una vez tenga la lista hecha.
Espero haberme explicado claramente.
¿Alguna idea de cómo lo podría solucionar?
Muchas gracias de antemano.
Quisiera pedir vuestra ayuda a ver como debería escribir este código para que funcione.
Resulta que necesito asignar a la celda B1, un valor específico, dependiendo del valor que tenga la celda A1 y para eso, he incluido la función "=SI" en la celda C1 y le he asignado el siguiente código:
=SI(A1="a";B1="1-Alta";SI(A1="m";B1="2-Media";SI(A1="b";B1="3-Baja";0))) y éste no funciona al enviar el resultado a la celda B1.
Podría haber escrito el siguiente código en la celda B1 que sí funciona y lo tendría parcialmente solucionado, ya que devuelve el resultado en la misma celda.
=SI(A1="a";"1-Alta";SI(A1="m";"2-Media";SI(A1="b";"3-Baja";0)))
Pero el problema es que luego cuando quiero ordenar las filas por orden ascendente o descendente, no me deja, ya que las celdas con códigos permanecen protegidas y es esencial poder ordenarlas una vez tenga la lista hecha.
Espero haberme explicado claramente.
¿Alguna idea de cómo lo podría solucionar?
Muchas gracias de antemano.
Última edición por benalfe el Mar Mar 01, 2022 9:41 pm, editado 1 vez en total.
OpenOffice
Windows 10 Pro 64 bits
Windows 10 Pro 64 bits
Re: Asignar valor a celda dependiendo de otra
Una función en la celda C1 no puede cambiar el valor de otra celda.
¿Cuales son las celdas que quiere ordenar? ¿Solamente la columna B o las columnas A y B? Si quiere ordenar la columna B pero que en la celda que era B1 la referencia a A1 se mantenga, escriba la fórmula con referencias absolutas.
¿Cuales son las celdas que quiere ordenar? ¿Solamente la columna B o las columnas A y B? Si quiere ordenar la columna B pero que en la celda que era B1 la referencia a A1 se mantenga, escriba la fórmula con referencias absolutas.
Código: Seleccionar todo
=SI($A$1="a";"1-Alta";SI($A$1="m";"2-Media";SI($A$1="b";"3-Baja";0)))
Re: Asignar valor a celda dependiendo de otra
Hola y gracias por responder.
En realidad lo que necesito ordenar es la fila entera que contenga datos, en este ejemplo las columnas A y B, desplazándolas hacia arriba o abajo según corresponda.
De todos modos he probado el código que me envías y causa el mismo efecto que el que aporté anteriormente, pero aún así, sigue bloqueado al proteger la página.
En realidad lo que necesito ordenar es la fila entera que contenga datos, en este ejemplo las columnas A y B, desplazándolas hacia arriba o abajo según corresponda.
De todos modos he probado el código que me envías y causa el mismo efecto que el que aporté anteriormente, pero aún así, sigue bloqueado al proteger la página.
Código: Seleccionar todo
=SI($A$1="a";"1-Alta";SI($A$1="m";"2-Media";SI($A$1="b";"3-Baja";0)))
OpenOffice
Windows 10 Pro 64 bits
Windows 10 Pro 64 bits
Re: Asignar valor a celda dependiendo de otra
¿Puede subir un archivo que muestra el problema?
Re: Asignar valor a celda dependiendo de otra
Hola de nuevo, aquí subo el archivo.
La zona de cálculos comprende desde A3 hasta D12.
La columna A comprende Palabra clave
La columna B comprende Puntuación (con datos numéricos para ordenar)
La columna C comprende Búsquedas (con datos numéricos para ordenar)
La columna D comprende Competencia (ésta sólo contiene letras que se identifican con "a" de alta, "m" de media y "b" de baja), la idea es otorgarle valores numéricos para poder ordenarlas igual que las columnas B y C, ejemplo ("1-Alta", "2-Media" y "3-Baja"), el problema es que al proteger la página, las celdas de la columna D se protegen por el código que contienen para hacer la conversión.
Esta es la razón de utilizar una columna suplementaria para hacer los cálculos y enviar la conversión a las celdas de la columna D.
Por otro lado, los datos los ingreso desde un archivo de texto con información que voy recopilando y separados por tabulador, para que luego al pegarlos en la tabla, éstos se sitúen en las celdas correspondientes y así poderlos clasificar, situando las filas completas donde proceda.
Espero no haber liado demasiado la explicación.
Aclaración: Esta es parte de una tabla para calcular el SEO con palabras clave y seleccionar las mejores según sus calificaciones.La zona de cálculos comprende desde A3 hasta D12.
La columna A comprende Palabra clave
La columna B comprende Puntuación (con datos numéricos para ordenar)
La columna C comprende Búsquedas (con datos numéricos para ordenar)
La columna D comprende Competencia (ésta sólo contiene letras que se identifican con "a" de alta, "m" de media y "b" de baja), la idea es otorgarle valores numéricos para poder ordenarlas igual que las columnas B y C, ejemplo ("1-Alta", "2-Media" y "3-Baja"), el problema es que al proteger la página, las celdas de la columna D se protegen por el código que contienen para hacer la conversión.
Esta es la razón de utilizar una columna suplementaria para hacer los cálculos y enviar la conversión a las celdas de la columna D.
Por otro lado, los datos los ingreso desde un archivo de texto con información que voy recopilando y separados por tabulador, para que luego al pegarlos en la tabla, éstos se sitúen en las celdas correspondientes y así poderlos clasificar, situando las filas completas donde proceda.
Espero no haber liado demasiado la explicación.
OpenOffice
Windows 10 Pro 64 bits
Windows 10 Pro 64 bits
Re: Asignar valor a celda dependiendo de otra
¿No sirve poner fórmulas como
en la columna E y ordenar A1:E7 usando la columna E como clave?
Otra solución es definir una Lista Ordenada. Seleccione el menú Herramientas → Opciones. En el lado izquierdo, abra la lista OpenOffice Calc y seleccione Listas Ordenada. Pulse el botón Nuevo y en la caja Entradas escriba a,m,b. Pulse los botones Añadir y Aceptar. Después de definir la lista, permanecerá en OpenOffice. Ahora puede ordenar los datos usando el menú Datos → Ordenar. En la pestaña Ordenar Por Criterios, seleccione la columna Competencias. En la pestaña Opciones, seleccione la caja Orden De Clasificación Definida Por El Usuario y en la lista desplegable elija a,m,b.
Código: Seleccionar todo
=SI(D3="a";"1-Alta";SI(D3="m";"2-Media";SI(D3="b";"3-Baja";0)))
Otra solución es definir una Lista Ordenada. Seleccione el menú Herramientas → Opciones. En el lado izquierdo, abra la lista OpenOffice Calc y seleccione Listas Ordenada. Pulse el botón Nuevo y en la caja Entradas escriba a,m,b. Pulse los botones Añadir y Aceptar. Después de definir la lista, permanecerá en OpenOffice. Ahora puede ordenar los datos usando el menú Datos → Ordenar. En la pestaña Ordenar Por Criterios, seleccione la columna Competencias. En la pestaña Opciones, seleccione la caja Orden De Clasificación Definida Por El Usuario y en la lista desplegable elija a,m,b.
Re: Asignar valor a celda dependiendo de otra
Sí ya funciona, al final he visto lo que era, aunque no entiendo por qué pasa eso, pero pasa.
Resulta que al seleccionar la celda inicial para ordenar y al darle al icono de ordenar, la selección hacia abajo, se salta una fila más y esa fila está protegida, entonces me salta el error de bloqueo.
La solución ha sido utilizar este código: y luego cuando llego al final de la lista, dejar la última fila sin aplicarle el código, así no sobrepasa hasta la siguiente fila que ya está protegida.
De todos modos, también voy a probar a definir una nueva lista ordenada y comprobar cual resulta más cómodo.
Un saludo y gracias a FJCC-ES por la valiosa ayuda prestada.
Resulta que al seleccionar la celda inicial para ordenar y al darle al icono de ordenar, la selección hacia abajo, se salta una fila más y esa fila está protegida, entonces me salta el error de bloqueo.
La solución ha sido utilizar este código:
Código: Seleccionar todo
=SI(D3="a";"1-Alta";SI(D3="m";"2-Media";SI(D3="b";"3-Baja";0)))
De todos modos, también voy a probar a definir una nueva lista ordenada y comprobar cual resulta más cómodo.
Un saludo y gracias a FJCC-ES por la valiosa ayuda prestada.
OpenOffice
Windows 10 Pro 64 bits
Windows 10 Pro 64 bits