¿Cómo hacer una fórmula de validación de datos para una columna?

¿Cómo hacer una fórmula de validación de datos para una columna?

Por ejemplo, para aplicar la validación de datos de lista a la segunda columna:

Vehículo Modelo
auto
bicicleta
auto

Me gustaría hacer una fórmula como esta, pero da error:

=IF($A:$A=“car”, CarTable, BikeTable)

El mensaje de error es:

"La Fuente actualmente evalúa como un error".

Y si hago clic en continuar, hay un botón desplegable pero no contiene nada.

Si lo pongo A2:A4en lugar de A:Aeso, funcionaría, pero necesito que se aplique a la columna real para que todas las celdas de la columna tengan validación de datos (para cuando eventualmente se ingresen nuevos elementos).

¿Cómo debería hacer esto?

Respuesta1

Suponiendo que desea que la columna Atenga formato según el valor de las celdas de la columna A, puede utilizar la siguiente condición:

=A2="car"

Y aplicarlo aA:A

Si desea que se formatee varias columnas en función de los valores de column A, deberá utilizar referencias absolutas:

=$A2="car"

Y aplíquelo al rango deseado (ej. A:C:)

Respuesta2

Una cosa que definitivamente es un problema: parece que su rango de referencia es incorrecto. Eso es esto: $A:$A. Está intentando evaluar toda la columna y juzgar si es igual a "car".

Intente utilizar cualquiera de los dos $A2(suponiendo que la primera celda de su rango sea B2) o, según su versión de Excel, @$A:$A. Ambos devolverán una sola celda. El primer caso ( $A2) actualizará la fila referenciada para cada celda del rango con validación pero la columna permanecerá absoluta gracias a $. El segundo ( @$A:$A) es básicamente igual en el sentido de que devuelve la celda de la columna Aque está en la misma fila que la celda que estamos evaluando. En su caso, estos dos funcionan igual porque los datos de la columna Bestán en la misma fila que los datos de la columna A.


También es posible que el problema sea ese CarTableo BikeTablesea más de una sola columna. Si ese es el caso, ajuste el rango nombrado para que sea una sola columna.


También es posible que CarTablesea una mesa real. En ese caso, puede agregar el nombre de la columna en la que desea envolver todo de INDIRECT()esta manera:

Indirect("CarTable[Model]")

información relacionada