Solucinaremos el problema de un lector con la Validación de datos de una celda formulada, o lo que es lo mismo con una Validación de datos personalizada:
El problema es claro, en una celda tenemos introducida un fórmula de SUMA sobre otro rango de celdas, y pretendemos que la primera está validada, permitiendo sólo determinado rango de valores; sin embargo, Excel, con esta herramienta de Validación de datos sólo restringe la introducción directa de datos.
¿Cómo solucionar este inconveniente?, atacaremos por detrás a la celda a restringir.
Lo vemos con un sencillo ejemplo como siempre.
Tenemos un rango A1:C1 con diferentes valores, que sumaremos en D1. Será la celda D1 donde sumaremos el rango anterior, esto es, en D1:
=SUMA(A1:C1)
es precisamente la celda D1 la que queremos limitar entre un rango de valores, por ejemplo, que esté entre 5 y 8, es decir, pretendemos que la suma del rango A1:C1 quede siempre dentro del intervalo 5 y 8.
Seleccionamos el rango de celdas A1:C1, y desde la Ficha Datos > Herramientas de datos > Validación de datos
En la pestaña 'Configuración' permitimos Personalizada y en el editable de 'Fórmula' añadimos:
=Y($D$1>=5;$D$1<=8)
y listo.
Hemos conseguido restringir el valor de la celda D1, que provenía de la suma de tres celdas A1:C1, a un importe entre 5 y 8; aunque realmente las celdas validadas sean las del rango A1:C1.
Podemos comprobar como, efectivamente, si intentamos cambiar alguna de las celdas validadas para que la celda D1 incumpla la norma personalizada, nos devuelve el típico error de validación:
...estoy trabajando en una hoja de cálculo y pretendo que en una casilla me sume un rango de celdas determinado, hasta aquí facil y sin problema; peró además he intentado introducir en esta casilla una regla de validación mediante la cual si se sobrepasa una cantidad fijada en la regla me salga un mensaje de error y no consigo que funcione, si introduzco directamente una cantidad superior a la permitida en la casilla si que sale el aviso, peró mediante la suma no, no se si es que no permite esta función o si debo hacerlo medianta algun otro sistema.... |
El problema es claro, en una celda tenemos introducida un fórmula de SUMA sobre otro rango de celdas, y pretendemos que la primera está validada, permitiendo sólo determinado rango de valores; sin embargo, Excel, con esta herramienta de Validación de datos sólo restringe la introducción directa de datos.
¿Cómo solucionar este inconveniente?, atacaremos por detrás a la celda a restringir.
Lo vemos con un sencillo ejemplo como siempre.
Tenemos un rango A1:C1 con diferentes valores, que sumaremos en D1. Será la celda D1 donde sumaremos el rango anterior, esto es, en D1:
=SUMA(A1:C1)
es precisamente la celda D1 la que queremos limitar entre un rango de valores, por ejemplo, que esté entre 5 y 8, es decir, pretendemos que la suma del rango A1:C1 quede siempre dentro del intervalo 5 y 8.
Seleccionamos el rango de celdas A1:C1, y desde la Ficha Datos > Herramientas de datos > Validación de datos
En la pestaña 'Configuración' permitimos Personalizada y en el editable de 'Fórmula' añadimos:
=Y($D$1>=5;$D$1<=8)
y listo.
Hemos conseguido restringir el valor de la celda D1, que provenía de la suma de tres celdas A1:C1, a un importe entre 5 y 8; aunque realmente las celdas validadas sean las del rango A1:C1.
Podemos comprobar como, efectivamente, si intentamos cambiar alguna de las celdas validadas para que la celda D1 incumpla la norma personalizada, nos devuelve el típico error de validación:
Hola,
ResponderEliminarAl introducir cualquier valor en el rango de validación me continua dando error, aunque este dentro del rango restringido.
Un saludo.
Hola,
ResponderEliminarla validación restringe que la suma de los tres valores esté entre 5 y 8, no que cada una de las celdas esté entre estos valores...
He confirmado que funciona como era de esperar, si la suma de los tres valores, en el rango de validación, no está entre 5 y 8, no admite el último valor introducido.
Slds
tengo la fecha (dia,mes,año)separadas cada una por columna y necesito colocarlas unidas en una sola columna 12/10/11 hay alguna formula para unirlas?.
ResponderEliminarHola Luis,
ResponderEliminarpodrías emplear la función
=FECHA(año; mes; día)
cada argumento el valor de una celda.
También podrías emplear (es algo más 'cutre') la función =CONCATENAR(día;"/";mes;"/";año), hay alguna forma más, pero estas son la más sencillas.
Slds
si se da click en otra celda aun cuando no cumpla el valor antes de dar enter
ResponderEliminar???
EliminarHola, que tal... no me queda claro si es una pregunta , una aclaración o una sugerencia...
???
Slds
Hola, yo quisiera hacer algo parecido pero no se como
ResponderEliminarespero me entienedan y puedan ayudar
Quiero que en una celda se valide si se escribio el texto correcto, dependiendo de las opciones que yo especifique
ej,
quiero que en la celda A1 escriban solo "A" o "B" o "C"
Olvidenlo, jaja soy nuevo en las validaciones y no habia visto que esta la opcion lista
Eliminarigual gracias
Hola Cesar,
Eliminarefectivamente, la opción de permitir Lista es la adecuada para configurar la celda y restringir sólo a ciertos valores de un listado dado.
Slds cordiales
Hola, cómo podría hacer una validación que solo permitiese escribir palabras terminadas en "s" y que además tuvieran una longitud mayor de 5 letras?
ResponderEliminargracias.
Hola,
Eliminaraccede a la Validación de datos personalizada y añade la siguiente fórmula:
=Y(DERECHA(C3;1)="s";LARGO(C3)>5)
Saludos
Muchas gracias!
Eliminaryo tengo una duda...
ResponderEliminardependiendo del numero de años trabajados le asigan un valor, que se incrementa una vez alcanzado los 5 y los 15 años.
Si x <=5 entonces x*4
SI x > 15, entonces serian 30+(x-15)
Si esta entre 5 y 15, 20+(x-5)*2
AL escribirlo todo en excel me sale esta formula, suponienod el valor x en la casilla A1
=SI(A1<=5,A1*4;SI(A1>=15,30+((A1-15)*1);20+((A1-5)*2)))
Que es lo que hago mal?? Me sale erro en la formula y me corre mucha prisa
Gracias
Hola que tal?
Eliminarlo único que veo mal son las comas en lugar de los puntos y coma, si bien eso depende de tu configuración de sistema, o bien debe ser TODO como o bien todo punto y coma:
=SI(A1<=5;A1*4;SI(A1>=15;30+((A1-15)*1);20+((A1-5)*2)))
ó
=SI(A1<=5,A1*4,SI(A1>=15,30+((A1-15)*1);20+((A1-5)*2)))
Slds
Muchisimas gracias !!!
EliminarYo veo paréntesis innecesarios dado que 30+(x-15)=x+15
Eliminary que 20 + (x-5)*2= 2x+10
por tanto:
=SI(A1<=5;A1*4;SI(A1>=15;A1+15;2*A1+10))
por otro lado, aunque no sé de que se trata, me resulta curiosa la reducción del valor entre A1=14
que daría 38 a A1=15 que se queda en 30.
Corcovado,
EliminarGracias por tu comentario y aporte
Slds
hola,saludos, tengo una duda en excel, necesito obtener los diez empleados con mayor antigüedad en una tabla de excel, la tabla contiene en columnas clave, nombre, apellidos, fecha de ingreso, sueldo, departamento y antigüedad, lo he intentado con tablas dinamicas y filtros pero no se como especificar que solo me devuelva los diez empleados más veteranos en la empresa, es una lista de 149 registros, gracias
ResponderEliminarHola!!
Eliminartienes varias opciones, la más sencilla sería aplicando un Filtro sobre el campo 'Fecha ingreso', en concreto un Filtro de Diez mejores, cunado abra la venta diálogo selecciona Inferiores y 10 elementos (lo que necesites), te mostrará las 10 fechas menores de ese campo... es decir, los diez elementos con más antigüedad.
Ojo, por que devuelve las 10 fechas menores, si hubiera varias repetidas se podría dar la situación de que te mostrará más de diez registros... en ese caso habría que aplicar algún otro filtro sobre otro campo para 'desempatar'.
Slds cordiales
hola Ismael, muchas gracias por tu tiempo en responderme, si me sirvió tu solución, aunque pensé que habría una formula o un criterio de filtro o tabla dinamica para que solo me mostrara los diez registros más antiguos, y si la hay, entonces no pude aplicar bien el filtro como me dijiste, lo que me sucedió fue que me ordeno de fecha menor a mayor y solo seleccioné los diez primeros datos y los demás que no me servían los borré.
Eliminarsaludos desde México y de nuevo muchas gracias
Hola,
Eliminarlo que te comenté es un criterio de filtro que se puede aplicar sin necesidad de borrar...
Pero igualmente se puede aplicar el mismmo criterio sobre una Tabla dinámica, con similar proceder..
En ninguno de los casos es necesario ordenar ni mucho menos borrar los registros.
Saludos
Hola Ismael, felicidades por tu valiosa aportación
ResponderEliminartengo el siguiente tema, dos hojas de Excel una con dos datos articulo, numero asignado por personal
en otro solo tengo el numero de articulo,
ordeno los dos archivos por numero de articulo,
pero siempre son diferentes, en uno tengo mas artículos,
he utilizado desref, concidir, para obtener el numero que se ingresa, el resultado no es el numero consecutivo sino el numero del primer articulo encontrado
gracias por tu ayuda
Hola Muchas Gracias!
Eliminarno termino de comprender qué necesitas obtener.
Entiendo que tienes en dos hojas diferentes unos listados de datos con un campo común que el el número de artículo... pero me pierdo en el fin de conseguir el número que se ingresa ¿te refieres al último número ingresado?.
Si pudieras enviarme el fichero a
excelforo@gmail.com
junto a un ejemplo..
Saludos cordiales
Hola,quiero validar los datos en un rango y debe ser de 4 digitosy terminar en 1 , 2 ó 3
ResponderEliminarHola!
Eliminaraplica una validación personalizada con esta fórmula, suponiendo configuras la validación para la celda C2
=Y(LARGO(C2)=4;O(VALOR(DERECHA(C2))=1;VALOR(DERECHA(C2))=2;VALOR(DERECHA(C2))=3))
Saludos
GRACIAS funciono muy bien
ResponderEliminarBuenas, deseo proteger una hoja de excel y que solo me permita ingresar texto en un rango determinado, si pongo proteger hoja protege todo
ResponderEliminarHola Amparo,
Eliminarpara proteger una hoja pero permitir introducir datos en algunas celdas, primero debes Desbloquearlas y luego proteger la hoja.
Echa un vistazo a
http://excelforo.blogspot.com.es/2010/05/proteger-hoja-en-excel.html
Espero te sirva.
Slds cordiales
Hola, necesito saber como introducir en una celda solo letras, pero que la cantidad no exceda de 6 caracteres. Gracias por su ayuda de antemano
ResponderEliminarHola,
Eliminaragrega una Validación de datos personalizada con la siguiente función, suponiendo la celda en cuestión es D3:
=Y(ESTEXTO(D3);LARGO(D3)<=6)
Saludos
Si quiero realizar una validacion pero que no sea numerica,, ejmp
ResponderEliminarquiero que dependiendo del valor de una celda colocar una lista, explico:
A | B
0-1 -> lista (pañales,talcos,pañitos)
2-10 -> lista(juguetes,balones)
11-15 -> lista(mp4,entrada cine)
Asi que la lista en la columna B debe cambiar dependiendo del valor en la columna A
Hola Edwin,
Eliminarlo primero sería tener nombradas las tres listas:
lista1
lista2
lista3
(los nombres que quieras).
Luego seleccionar la columna B y añadir una validación de datos tipos lista con la fórmula:
=SI($F$17<=1;lista1;SI($F$17<=10;lista2;lista3))
Saludos
Gracias
Eliminarbuenas tardes quisiera que el usuario solo una letra "X" nada mas como hacerlo en validacion de datos
ResponderEliminarHola!
Eliminarhay varias formas.. una muy sencilla en Validación de datos > tipo Lista y en origen 'X'
Listo
Un saludo!
Hola, felicitaciones por tu aporte =)...quiero hacer una validacion, es un codigo de 7 caracteres, los 3 primeros debe ser "UNI", los 4 sgtes un numero entre 100 y 999....ademas de ser de 3 digitos rellenar con "0".
ResponderEliminarYo lo intente asi:
=Y(LARGO(B4)=7,IZQUIERDA(B4,3)="UNI",DERECHA(B4,4)=ALEATORIO.ENTRE(100,9999))....pero no resulto. Agradeceria me ayudaras.
era un numero aleatorio entre 100 y 9999 =P
ResponderEliminarHola Vanessa,
Eliminarprueba con
=Y(LARGO(B4)=7;IZQUIERDA(B4;3)="UNI";VALOR(DERECHA(B4;4))>=100;VALOR(DERECHA(B4;4))<=9999)
lo que debes tener claro que es distinto generar una lista de elementos para usarlos en la validación, que utilizar una fórmula personalizada en Validación para admitir los valores que cumplan esa regla...
esto último es lo que conseguirás...
Para tener una lista desplegable en la validación tendrás que construirlo en un rango aparte...
Un cordial saludo
Como creo una validación de datos, que cuando en la columna U, el valor sea distianto a 0, en la columna V se deba ingresar una palabra cualquiera. Pero cuando U sea igual a 0 no sea necesario ingresar la palabra en V.
ResponderEliminarHola Ariel,
Eliminarla validación de datos en una celda restringe o permite la introducción de valores(texto, fecha, números), pero no puede controlar o forzar al usuario a que ingrese una palabra...
Saludos
Hola Ismael ,, una duda ,, como haria la validacion de una celda , dependiente de otra que varia de acuerdo a la celda validada... en la celda B3 que es la que quiero validar , va a depender de la celda E3. que son las existencias actuales , ejemplo ,, en la celda B3 digito 3 salidas , y esta salidas van a depender de las existencias ,, (E3) que hay 5 ,, pero esta celda va a reducir sus existencias al moneto que digite 3 en B3 ,, se me presenta un problema ,,que al momento de darle arriba de 3 salidas me dice que no puedo o me presenta error ,, haber si me puedes ayudar (recuerda que la celda E3, reducira sus existencias al momento de dar ladias ... saludos y gracias por tu apoyo
ResponderEliminarHola Marco,
Eliminarte dejo algunos ejemplos de validaciones condicionadas
http://excelforo.blogspot.com.es/2010/04/validacion-de-celdas-anidadas-y.html
http://excelforo.blogspot.com.es/2009/10/ejemplo-de-doble-validacion.html
Saludos
Hola:
ResponderEliminarSe puede hacer validacion de datos con una funcion de usurario?
Hola Sebastian,
Eliminarsí, claro... una función definida por el usuario (UDF) e a estos efectos es una función normal, y por tanto se puede emplear.
Saludos
Hola de nuevo:
ResponderEliminarCuando intento utilizar una UDF para validación de datos me da un error:
'No se puede encontrar uno de los rangos especificados'.
A que puede deber?
un saludo
Hola Sabastían,
Eliminarhabría que ver la función.. pero si la quieres emplear en una Validación de datos (entiendo para desplegar ciertos valores), tendrías que asegurarte que la UDF tiene la capacidad de reflejar un rango de valores... y claro está, devuelve un rango correcto.
El error parece indicar que la UDF no está funcionando correctamente en este aspecto, y devuelve un dato/s que no es entendido como rango por Excel.
Saludos
Hola de nuevo:
ResponderEliminarNo se trata de la función en si. Solo por el hecho de introducirla en la barra de formulas de validación me da este error.
por ejemplo he utilizado lo mas básico:
function validar()
validar=true
end function
y me da error. Por eso pienso que me estoy saltando algún paso, pero no se cual.
un saludo
Hola Sebastian,
Eliminarparece existen restricciones en cuanto al uso de UDF dentro de las validaciones de datos (curioso, por que no en otras funcionalidades, por ejemplo, formatos condicionales).
la solución consiste en crear un Nombre definido donde incluir la UDF, para luego incorporar el Nombre definido en la validación de datos...
Algo retorcido, pero no hay más solución...
Saludos
Buenas tardes, tengo un problema para hacer una validación de datos, quisiera que me saliera un mensaje de advertencia si dos cantidades provenientes de sumar rangos son diferentes, las cantidades a comparar las obtengo mediante la formula =suma, cada suma toma las cantidades de diferentes rangos pero el resultado debe ser el mismo
ResponderEliminarEspero puedas ayudarme
Hola Gabi,
Eliminarcreo que lo más sencillo sería añadir en una celda un condicional comparando ambas celdas con la función suma.
Por ejemplo, en A1 tenemos
=SUMA(A2:A10)
y en B1:
=SUMA(B2:B10)
en C1 podemos controlar el hecho
=SI(A1=B1;"OK";"OJO!!, Diferentes")
Espero te sirva
Saludos!
Gracias Ismael, en mi documento ya tenia esa condicional, solo quería el mensaje para asegurarme que el resultado de las sumatorias siempre fuera el mismo.
EliminarSi se te ocurre algo para lo que busco te lo agradecería muchísimo, si no es posible muchas gracias por tu ayuda
Saludos!
Hola,
Eliminarcreo que habría que tirar de programación.
Generar un evento change en el código de la hoja para que al cambiar el valor de esas dos celdas, compruebe si son iguales o no.. y en el caso que ocurra lance un MsgBox
Mira este link
http://excelforo.blogspot.com.es/2016/03/vba-macro-de-un-filtro-avanzado.html
Saludos
Hola, gracias por tu aporte.. la verdad mi conocimiento de macros es prácticamente nulo.. pero encontré una solución a mi problema y quiero compartirla contigo y el foro.
ResponderEliminarSigamos con el ejemplo que pusiste en el comentario anterior
En A1 tenemos
=SUMA(A2:A10)
y en B1:
=SUMA(B2:B10)
En la barra de formulas de validación de datos personal escribes lo siguiente:
=SI(A1=B1,VERDADERO,FALSO)
Con eso yo resolví mi problema espero le sea útil a alguien más
Saludos!
HOLA ISMAEL, MUY INTERESANTE TU PAGINA Y MUY BUENA, ME TOPE CON LA PAGINA POR UNA DUDA QUE TENGO EN LA VALIDACIÓN DE DATOS, QUIERO VALIDAR ESTOS DATOS (0,1,DF,SC,P,RM,NIC,-) EN UNA CEDA, QUE SOLO PUEDA MANEJAR ESTA DATOS AL MOMENTO DE LLEVAR LA PLANILLA, NO PUEDO UTILIZAR LISTA DESPLEGABLE, DEBIDO QUE DEBE LLENAR MUCHA CEDA A LA VES, Y LA LISTA QUITARÍA TIEMPO, HE INTENTADO CON VARIAS FORMULA Y NADA, OBVIAMENTE SU PRINCIPIANTE, TE AGRADECÍA CUALQUIER AYUDAR POSIBLE..... Dili
ResponderEliminarHola,
Eliminarsi no quieres/puedes aplicar una validación tipo lista tendrías que optar por una fórmula dentro de la validación de datos personalizada:
=O(celda=0;celda=1;celda="DF";celda="SC";celda="P";celda="RM";celda="NIC";celda="-")
'celda' representará la celda activa en el momento de crear la validación.
Saludos
MUCHA GRACIAS ISMAEL, HA SERVIDO ES LO Q ANDO BUSCANDO, PERO SE ME ESTA PRESENTADO UNA PREGUNTA, DEBIDO QUE LO HE INTENTADO, COMO TENGO QUE APLICA A VARIAS CELDA DESDE LA L HASTA AY EN FORMA HORIZONTAL, Y DESDE 12 HASTA 56 EN FILA, ESTA FORMULA TENGO QUE IRME A PIEL COLOCAR LA FORMULA EN CADA CELDA UNA POR UNA, O HAY UNA DE MANERA DE APLICARLA PARA TODAS, HE INTENTADO PERO NO HE PODIDO, Y NUEVAMENTE MUCHA GRACIAS POR TU AYUDAD, SALUDO. DILI
Eliminarhola Ismael, ya resolvi el problema tuvo un momento digamos de ignorancia, ya mas calmada me vino la respuesta que era copia y pegar en las demás celda, por eso digo fue un momento, por lo general lo que se de excel es ha sido de experiencia vida, y porque me gusta. tengo una curiosidad cuando protege un libro, las misma condiciones de bloqueo en otro libro del mismo archivo, lo que he venido observado es que se realiza un copiado del formato, y se abre un archivo nuevo y se pega quedado el formato en archivo desprotegido para realizar cambio sin la debida autorización, no hay manera para que no ocurra, que pueda proteger el archivo sin que realice la operación mencionada, muchas gracias por tu colaboración y tu ayudad, saludo.. Dili
ResponderEliminar;-)
Eliminartambién valdría haber seleccionado el rango y con éste marcado incluir la fórmula en la validación personalizada tomando como celda de la fórmula la celda activa.
Respecto al Libro protegido (u hoja protegida.. no me queda claro).. no entiendo el planteamiento ???
Saludos
:P Hola Ismael, buena datos ya se para la proxima realizarlo de esta forma, en referente al planteamiento tengo un archivo de excel X con un formato protegido, pero viene un operador y copia el formato del archivo protegido, y lo copia en un archivo nuevo y pega, en que pego esta desprotegido para manipularlo y adaptarlo a su manera.
ResponderEliminar:(
Eliminarsiempre hay formas de saltar por encima de las protecciones de hoja o Libro...
Saludos
Hola Ismael, gracias por la información, disculpa que te moleste nuevamente, estoy tratando de realizar una formular una celda, o me aparece error, #!Valor!, o no corre formula como se espero, la idea es que aparezca en la celda el texto APLAZADO, cuando la celda indique que es <=9 NOTA y tiene mayor de 7 inasistencia en caso contrario cuando sea >=10 NOTA APROBADO y tiene menor de 7 inasistencia, por un lado, por el otro lado si la celda indica 0 y mas de 20 inasistencia seria INASISTENTE, y cuando la celda indica 1 menos de 20 inasistencia seria S.INFORMACIÓN. si es un poco enredado, espero que me pueda ayudar, y si me supe explicar, es algo parecido a eso (O13<=9;"APLAZADO";"APROBADO");(SI(U13>=20;"INASISTENTE";"S. INFORMACIÓN", saludo dili
ResponderEliminarHola,
Eliminarentiendo el texto debe aparecer en otra celda, distinta de la celda con Nota e Inasistencias.. si es así, tendrías que aplicar un condicional, con algo más de estructura que el ejemplo que planteas:
=SI(Y(nota<=9;inasistencia>7);"Aplazado";SI(Y(nota>9;inasistencia<7);"Aprobado";SI(Y(nota=0;inasistencia>20);"S.Información")))
Espero haberte entendido bien.. no está muy claro la explicación.
Saludos
Este comentario ha sido eliminado por el autor.
ResponderEliminarHola ismael, mucha gracias por la información me ha servido, no había pasado por aquí, anda un poco full con el trabajo, mucha gracias por tu colaboracion
ResponderEliminaruff muy útil y muy bien explicado, tengo una consulta si quisiera un macro que se ejecute cuando una celda cambie de valor, perooo la celda cambia de valor por formula, es algo que se puede hacer?
ResponderEliminarHola Rafael,
Eliminarecha un vistazo a
http://excelforo.blogspot.com.es/2016/03/vba-lanzar-macro-cuando-cambia-el-valor.html
Saludos
Hola Ismael. Necesito hacer una validación de datos personalizada en una columna llamada código que me servirá para una nota de venta. Dicho código debe iniciar forzosamente con las letras "HZ" (Ejemplo HZ-001, HZ123, HZ 01), he intentado con la fórmula =Y(izquierda(a4,2)="HZ") pero no me sale. Me puedes ayudar.
ResponderEliminarHola Francisco,
Eliminarno hace falta la función Y... podría ser:
=IZQUIERDA(A4;2)="HZ"
asegúrate que la celda activa corresponde con la celda de la fórmula!!!
probablemente el fallo esté ahí
Un saludo
Hola buen dia!
EliminarYo tambien necesito hacer eso pero pongo la formula =IZQUIERDA(A4;2)="HZ" y no me la acepta, tambien me fije en que celda lo puse pero aun asi no funciona, no se si podrías ayudarme
Hola,
Eliminardebes seleccionar la celda en cuestión y entrar de Validación de datos personalizada.. en el campo editable incluir dicha fórmula.
Nada más.
Asegúrate que empleas el separador de argumentos de tu configuración (a veces es la coma y no el punto y coma)
Slds
Si, muchas gracias! Solo puse la coma y funcionó! Gracias!
Eliminarme puede brindar formulas para llevara a cabo la validación de datos personalizada
ResponderEliminarHola Ronaldo,
Eliminarcómo estás?, un placer saludarte igualmente,
Será un placer ayudarte.. pero ¿cuál es el fin de esa fórmula?, ¿qué necesitas hacer?
Un cordial saludo
Ismael, de antemano se agradece que gente como tu destine su tiempo en compartir sus conocimientos con quienes nos vamos iniciando. Te comento que hice un sistema de inventarios en excel, pero lo que no he podigo lograr es que al querer dar salida a un artículo sin existencia o con existencia menor a la que tiene, el sistema no me lo permita, pense que talvez a traves de la validación de datos personalizada, pero la vdd es que me revulevo un poco a la hora de querer generar la formula
ResponderEliminarHola Jorge,
Eliminargracias por tus palabras.
La validación, en todo caso, se tendría que hacer en esas celdas en las que se recogen las entradas y salidas... por lo que todo depende de cómo esté montado el sistema.
Por ejemplo, un modelo muy muy simple:
Celda A2 codigo producto, celda B2 cantidad stock (con la fórmula:=C2-D2+E2
siendo
C2 las entradas (manualmente)
D2 las salidas (manualmente)
E2 el saldo inicial (manualmente).
En ese caso seleccionamos C2:D2 y añadimos una validación personalizada con la fórmula:
=$B$2>=0
asi nos aseguramos que cualquier cantidad introducida en C2:D2 (entradas o salidas) no permita un stock negativo.
Espero te oriente
Saludos
Hola Gabriel,
ResponderEliminarno parece posible a priori, ya que los formatos personalizados afectan a valores numéricos..
Saludos
Buenos días. Por favor, tengo preparada la lista desplegable para 5 elementos seleccionables. Pero me gustaría obtener la suma de todos los elementos de la lista deplegable. Hay alguna forma de hacerlo? Muchas gracias por anticipado.
ResponderEliminarDennisse
Hola Denisse,
Eliminarentiendo quieres obtener la suma acumulada según el elemento desplegado...
si es así, podrás emplear la función =SUMAR.SI(Rango_evaluación;celda_desplegable;rango_suma)
Espero haberte comprendido
Saludos
Gracias Ismael,
ResponderEliminarEstoy usando la función SUMIFS (suma si conjunto) y una de las variables está ligada a una celda con una lista desplegable de 10 elementos. Por lo tanto, las celdas pueden ofrecer hasta 10 resultados diferentes. A la lista despegable, quisiera añadir una opción o condición ( por ejemplo: "ALL") que me permita ver tambíén la suma general de todos los elementos de la lista despegable; es decir, el total sin la segmentación que estoy usando gracias a la lista despegable.
espero haberme explicado mejor.
Muchas gracias de nuevo.
Hola,
Eliminartendrías que incluir un condicional que gestione esa posibilidad:
=SI(celda_validada="ALL";SUMIFS(rng_suma;rng:crit1;crit1);SUMIFS(rng_suma;rng:crit1;crit1;rng_crit2;crit2))
como ves cuando la celda es ALL el SUMIFS no aplica criterio sobre el rango de evaluación 2...
Espero haberme explicado
Slds
Validar el rango a5:a20 para que no reciba codigos duplicados
ResponderEliminarLos codigos deben empezar con C y en total tener 5 caracteres (incluyendo la C)
pongo la formula que me dijo el rofesor pero me sale un error al poner eso
=Y(CONTAR.SI($A$5:$A$20,A5)=1,LARGO(A5)=5,IZQUIERDA(A5)="C")
Hola Elsa,
Eliminarque tal estás?, un placer saludarte igualmente...
He probado la fórmula que planteas y funciona correctamente... quizá el error que te salta sea por el separador de argumentos que estás empleando: coma en lugar de punto ',' y coma ';'
Prueba:
=Y(CONTAR.SI($A$5:$A$20;A5)=1;LARGO(A5)=5;IZQUIERDA(A5)="C")
Un cordial saludo
VALIDACION DE DATOS:
ResponderEliminarValidar el rango B5:B16 para que reciba numeros de DNI
PERMITIR: Personalizada
formula: =Y(LARGO(B5)=8,VALOR(B5)>0)
me sale error
misma situación que el anterior:
Eliminar=Y(LARGO(B5)=8;VALOR(B5)>0)
HOLA HERMANO COMO HAGO PARA QUE EN UNA CELDA SOLO PUEDA ESCRIBIR EL PREFIJO "CB" DENTRO DE UNA CELDA Y SI NO ES "CB" QUE ME DE UN ERROR.
ResponderEliminarHola,
Eliminarincorpora una Validación de datos personalizada en la celda (por ejemplo A1) con la fórmula =IZQUIERDA(A1;2)="CB"
Slds
Este comentario ha sido eliminado por el autor.
ResponderEliminarHola, estoy tratando de validar que se tenga un contenido específico en una celda (si está en blanco no debería dejar)
ResponderEliminartengo esto: =Y(ESTEXTO(H22);H22="Supervisad") en validación de datos personalizado, pero por alguna razón si H22 está vacía, me deja copiar igual. Sabes que puede ser? he intentado con ESBLANCO(), ESNOTEXTO() y H22<>"" pero ninguna me funciona
Hola Carolina,
Eliminaryo probaría con:
=Y($H$22="Supervisad";NO(ESBLANCO($H$22)))
y con la opción que comenta Higinio Zap más abajo : 'omitir blancos' desmarcada
Un saludo
¿Has probado a quitar la opción "omitir blancos"?
ResponderEliminarGracias por el buen aporte!
EliminarUn saludo
Higinio, Ismael gracias por el aporte.
EliminarSi probé con la opción "omitir blancos" pero este permite que se elimine el valor de la celda con "Supr", y por alguna razón, cuando coloco NO(ESBLANCO($H$22)) no realiza la validación, como que falla al ponerle la negación... en definitiva tuve que realizar la validación con Macros.
Muchas gracias :)
Hola,
Eliminarentiendo que la pega era que una vez cumplida la regla de validación, procedías a borrar el dato y te lo permitía?...
Este sería su comportamiento normal, ya que la validación es una herramienta que controla (permite/restringe) qué se escribe en la celda, pero NO que se borra o pega sobre ella.
Para esos casos, como bien has indicado, están las macros, y sus eventos asociados al entorno de la hoja de cálculo
un saludo
Gracias a ti por el buen trabajo que haces. Te sigo y me ayudas bastante. Si en algo puedo ayudar, mejor. Un saludo enorme
ResponderEliminarSiento mucho que no funcionara,pero me alegro de que lo hayas solucionado. Intenté darte una solución que está claro que no sirvió
ResponderEliminarHOLA ISMAEL COMO HAGO PARA INTRIODUCIR EN UNA CELDA SOLO NOMBRES QUE EMPIECEN CON C Y TERMINEN CON A GRACIAS DE ANTEMANO
ResponderEliminarHola,
Eliminarprobaría con una validación personalizada con la función:
=Y(IZQUIERDA(celda;1)="C";DERECHA(celda;1)="A")
Saludos
Hola, me puedes ayudar? necesito validar lo que se ingresa en una celda, las condiciones son las siguientes:
ResponderEliminarSupervisor Senior tiene autorizado gastar
$35 martes
$65 miercoles
$95 jueves
Gerentes tienen autorizado gastar
$150 lunes a viernes
Y todos no pueden gastar más de lo autorizado por día.
Quiere decir que un supervisor senior los días martes no puede gastar más de $35, y tampoco puede presentar dos o más facturas con la misma fecha si superan el monto autorizado pero si pueden presentar en una factura varios días de alimentos, el mismo caso para los gerentes.
Entonces en mi base de datos tengo una columna con los puestos, fecha de factura y tiempos de comida y dependiendo que puesto ingresen, la fecha de la factura y cantidad de tiempos de comida (una factura de un día martes me dice que pagaron 2 tiempos de comida y gastaron $70 será permitido el ingreso porque gasto $35 por día.
La formula que hice para validar, monto, días autorizados, tiempos de comida y puesto es la siguiente:
En el libro tengo otra hoja donde estan las políticas de gastos, HOJA "Politica"
En la hoja politica los datos estan ordenados de la siguiente forma:
*aquí te separo cada columna con |
Codigo (concatenacion de Puesto, descripción, dia) | Puesto | Descripción | Dia|
En mi base de datos tengo los datos en la columna " "
En la columna "G" ingresan el puesto
En la columna "M" ingresan fecha de factura
En la columna "O" ingresan días de comida por factura
En la columna "Q" se ingresa el monto de las facturas
Formula elaborada en la celda "Q3222"
=SI(G3222="Supervisor Senior";Y(BUSCARV(G3222&"Alimentación"&DIASEM(M3222);Politica!$B$2:$F$65;4;0)>=(Q3222/O3222);SUMAR.SI.CONJUNTO($Q$2:Q3222;$M$2:M3222;M3222;$F$2:F3222;F3222)<=BUSCARV(G3222&"Alimentación"&DIASEM(M3222);Politica!$B$2:$F$65;4;0));Y(BUSCARV(G3222&"Alimentación";Politica!$B$2:$F$65;4;0)>=(Q3222/O3222);SUMAR.SI.CONJUNTO($Q$2:Q3222;$M$2:M3222;M3222;$F$2:F3222;F3222)<=BUSCARV(G3222&"Alimentación";Politica!$B$2:$F$8;4;0)))
El problema es que la formula es muy larga y no me permite ingresarla en la validación de datos, lo puedo hacer con otra formula?
Hola,
Eliminarse me ocurre que en tu fórmula sustituyas esos rangos y funciones por Nombres definidos 'más cortos'; por ejemplo, con toda esta parte:
Y(BUSCARV(G3222&"Alimentación"&DIASEM(M3222);Politica!$B$2:$F$65;4;0)>=(Q3222/O3222);SUMAR.SI.CONJUNTO($Q$2:Q3222;$M$2:M3222;M3222;$F$2:F3222;F3222)<=BUSCARV(G3222&"Alimentación"&DIASEM(M3222);Politica!$B$2:$F$65;4;0))
podrías crear un nombre definido... y sucesivamente.
Finalmente, podrás crear tu validación de datos personalizada
Espero te sirva la idea
Saludos
Hola, tengo un problema con una validación personalizada sobre una celda con fórmula.
ResponderEliminarLa fórmula que tengo en la columna P es la siguiente: =+SI(Y(O3>=6;O3<=11);"1";SI(Y(O3>=12;O3<=17);"2";SI(Y(O3>=18;O3<=29);"3";SI(Y(O3>=30;O3<=47);"4";SI(Y(O3>=48;O3<=71);"5")))))
y el resultado que arroja puede ser: 1,2,3,4 o 5.
Yo necesito validar otras celdas en función de cada uno de estos resultados pero si pongo en la fórmula de validación personalizada =$P3=1 no me toma la validación y no sé que estoy haciendo mal.
Saludos y gracias!
Hola
Eliminaruna validación personalizada debe retornar VERDADERO o FALSO para verificar si admite el valor introducido (1,2,3,4...), así pues debes convertir tus condiciones en fórmulas lógicas. Algo así:
en P3 incorporas la validación personalizada:
=O(Y(P3=1;O3>=6;O3<=11);Y(P302;O3>=12;O3<=17); etc...
Saludos
Hola Ismael,
ResponderEliminarDe antemano agradecerte por los tremendos aportes y el seguimiento constante de las consultas. Me ayudaron mucho.
Mi consulta. Llevo una tabla de ventas de almuerzos y los datos que ingreso en ella son el día de la compra, nombre del comprador, la empresa en cual se encuentra y el almuerzo escogido.
Hice una hoja donde va la tabla a rellenar, otra con listas de clientes encabezadas con su empresa y otra con los almuerzos encabezados por el día (cada día son distintos almuerzos).
En la tabla que relleno, validé con lista toda la columna de empresa, así al escoger la celda, solo puedo elegir las empresas que figuren en la hoja.
Lo que necesito hacer, es que la columna de clientes este condicionada por la empresa. Y que la columna de almuerzos este condicionada por el día.
Supongo que el condicionamiento es el mismo, pero lo aclaro por si el hecho de que el día este en número (ej: 01, 02, etc) puede cambiar algo.
Las Hojas son así:
Hoja a rellenar
|DIA |NOMBRE |EMPRESA |PLATO|
----------------------------------------
|01 |PEDRO |BANCO ITAU |LASAÑA|
|02 |JUAN |BANCO BBVA |LOMO SALTADO|
Hoja de clientes
| BANCO ITAU |BANCO BBVA|
--------------------------------
|PEDRO |JUAN|
|JOSE |CARLOS|
Hoja de almuerzos
| 01 | 02 |
--------------------------------
|LASAÑA |LOMO SALTADO|
|ENSALDA |CHARQUICAN|
Espero puedas ayudarme. De todos modos estoy muy agradecido.
Saludos.
Hola Pablo,
Eliminarlo que buscas es lo que se conoce como validación anidada.
Puedes ver un ejemplo que seguro te servirá en:
http://excelforo.blogspot.com.es/2010/04/validacion-de-celdas-anidadas-y.html
Espero haberte entendido bien
Un saludo cordial
Este comentario ha sido eliminado por el autor.
ResponderEliminarHola, tengo en una planilla en dos columnas aplicado validación de datos, funciona perfecto, el tema es que necesito insertar renglones en la planilla y no me deja. Es posible insertar renglones en la planilla? no en lista de verificación. Gracias
ResponderEliminarHola Elvia Mabel,
Eliminarsí es posible... bastaría señeccionar las filas que necesitaras e Insertar desde el botón derecho del ratón (por ejemplo).
Saludos
Hola buenas tardes.... quisiera si me pudiera ayudar, lo que pasa que manejo algunos descuentos por ejemplo si un empleado labora 1 dia se le descuentan $15, 2 y 3 $30, 4,5 y 6 $50, y si se pudiera que solo con llenar sus asistencia aparezca que descuento le corresponde...
ResponderEliminarSaludos
Hola Mary,
Eliminarel descuento lo debes obtener en una celda contigua a la que introduces los días trabajados. Si en A1 añades los días, en B1 por ejemplo, puedes insertar:
=SI(A1=1;15;SI(A1<=3;30;SI(A1<=6;50)))
al tenerlo formulado funcionará como quiers
Saludos
Es Usted muy amable ya le estuve intentando y me manda una corrección de SI PRUEBA LOGICA- FALSO O VERDADERO, se que debe funcionar pero no se que estoy haciendo mal :(
EliminarHola,
Eliminares una fórmula condicional (probada) a insertar en la celda
Qué error concreto te devuelve??
Asegúrate en todo caso que tu separador de argumentos es el ; y no la ,
Slds
tenia Usted razón era (,) muchas gracias esto disminuirá mucho el tiempo que empleaba para eso y sobre todo los errores.... es Usted muy muy amable, que Dios lo bendiga siempre,,....
EliminarEste comentario ha sido eliminado por el autor.
ResponderEliminarHola, deseo crear una lista de palabras que cuando alguien intente escribir alguna de ellas en determinada columna, rechace la entrada.
ResponderEliminarCaso:
Tengo la columna A y van a escribir, en las celdas de esta columna, una lista de nombres de canciones. Deseo que cuando alguien escriba en una de esas celdas, cualquiera de las palabras que está en la "lista de palabras no permitidas", automáticamente, niegue la entrada del nombre de la canción.
Ejemplo:
Alguien escribe: "Moonlight sonata" (Pero la palabra "sonata" está en mi lista de palabras no permitidas).
Automáticamente la hoja de excel, no permitirá que la canción "Moonlight sonata" quede en la celda.
¿Existe alguna validación personalizada para que esto sea posible?
Agradezco tu ayuda.
Esto lo he logrado, pero únicamente con una sola palabra. Necesito que sea una toda una lista de palabras que no estén permitidas en dichas celdas.
ResponderEliminarHola,
Eliminarecha un vistazo a este post:
http://excelforo.blogspot.com.es/2017/09/encontrar-palabras-de-una-lista-en-una-celda.html
y llegas a la conclusión que la fórmula que buscas para añadir a la validación personalizada:
=ESERROR(ENCONTRAR(INDICE(Lista;SUMAPRODUCTO(ESNUMERO(HALLAR(Lista;A2))*(FILA(Lista)-1)));$A2)>0)
Saludos
hola deseo Relizar una validación de datos personalizada que impida que las cantidades que ponemos en la columna de costos exceda el total del presupuesto.
ResponderEliminarel presupuesto es de 25,000 y los conceptos de costos son luz, renta, comida y extras.
agradecería mucho tu ayuda
Hola,
Eliminarhabría que conocer la distribución de las columnas..
supongamos los conceptos están en las columnas B:E
seleccionamos el rango B2:E2 y añadimos la validación de datos personalizada:
=SUMA($B2:$E2)<=25000
Saludos
Hola,
ResponderEliminarnecesitarás incluir este sencillo procedimiento en la ventana de código de la hoja:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Value < 5 Then
Target.Value = 5
ElseIf Target.Value > 10 Then
Target.Value = 10
End If
End Sub
Saludos
Hola. Tengo una consulta. Como podría hacer para que según los códigos de una hoja, me salgan los destinos en otra. (=buscarv(d4;d1:f7;2;0)hasta ahí llegue bien), pero esa formula no me la deja usar en validacion de datos. Además si no esta el codigo tendria que ingresar el destino a mano... Alguna idea de como y que formulas tengo que concatenar?
ResponderEliminarHola,
Eliminarsi he entendido correctamente es incompatible lo que pretendes... no es posible incluir una validación de datos en una celda con fórmula (no aplicaría), y menos aún si además tienes que escribir manualmente algo sobre ella (la fórmula desaparecería).
:(
Saludos
HOLA, NECESITO UNA REALIZAR VALIDACION DE DATOS EN EXCEL TENGO UNA LISTA DE TIPOS DE VEHICULO AUTOMOVIL, CAMIONETA Y BUS PERO ME PIDEN QUE SE RENTA UN MAXIMO DE 2 ASIENTOS SI EL TIPO DE VEHICULO ES AUTOMOVIL O CAMIONETA Y SE PUEDEN ALQUILAR HASTA CUATRO ASIENTOS SI EL VEHICULO ES BUS COMO PUEDO HACER LA FORMULA EN PERSONALIZADA PARA LA VALIDACION DE DATOS.
ResponderEliminarHola,
Eliminaraunque no están claras las condiciones podrías implantar una validación personalizada en la celda donde añadir el número de asientos:
=SI(C3="automovil";D3<=2;SI(C3="camioneta";D3<=4;SI(C3="bus";D3>4)))
suponiendo en C3 el tipo de vehículo y en D3 el número de asientos..
Saludos
Pues el ejercicio está planteado de la siguiente manera:
EliminarA) deberá marcar con una "X" solo con una X el tipo de vehículo de interés, (B19,B20,B21) solo está permitido seleccionar un tipo de vehículo una vez,si selecciona Automóvil(B19) ya no podrá marcar camioneta (B20) o microbús (B21).
B) LA empresa brinda el servicio de renta de artículos extras.
✓asientos para niños(B25): se renta como máximo 2 asientos si el tipo de vehiculo es automóvil o camioneta y de podrán alquilar hasta cuatro asientos si alquila microbús.
✓ Se puede rentar cualquier cantidad de teléfono celular (B26)
✓ Se puede alquilar como máximo una hielera.
✓ únicamente se puede pagar el servicio de un conductor adicional (B28).
Espero que me pueda ayudar son varias validaciones de datos que tengo que realizar de forma personalizada..
Hola,
Eliminarpara el caso A), selecciona las tres celdas B19:B21 y añade la validación personalizada con fórmula:
=CONTAR.SI($B$19:$B$21;"x")=1
Para el B, revisa la idea propuesta en el comentario anterior...
Saludos
Buen día Ismael, gracias por el aporte brindado a la pagina, estoy intentando validar los datos de DNI con valores que empiece con 0, al usar la formula Y(LARGO(H2)=8,VALOR(H2)>0) todo bien pero cuando dígito el 01234567 (8 números) no permite y cuando digito 012345678 (9 números) si acepta porque se borra el 0 como puedo solucionarlo.
ResponderEliminarMuchas gracias por el apoyo.
Hola!
Eliminaryo probaría introduciendo el número como texto...
bien cambia el formato de celda a texto o bien comienza con apostrofe y los dígitos ('01234567)
Espero te sirva
Slds
Muchas gracias por la respuesta, si he probado de la misma manera y si funciona pero quería validar si se puede con la opción de validación de datos.
EliminarSaludos.
el tema es que la validación de datos solo 'entra en juego' cuando se escribe/introduce algo en una celda... hasta que no está escrito (no se valida) no salta la funcionalidad...
EliminarSaludos
Hola me pueden ayudar debo realizar una validación que me permita crear una contraseña de 6 caracteres mínimo, con la inicial en mayúsculas y el último carácter debe ser un número. gracias
ResponderEliminarHola,
Eliminares algo largo, pero la fórmula en tu celda C5 validada podría ser:
=Y(IGUAL(IZQUIERDA(C5;1);MAYUSC(IZQUIERDA(C5;1)));LARGO(C5)>=6;ESNUMERO(VALOR(DERECHA(C5;1))))
Saludos
Hola, ¿como puedo hacer para que no me deje capturar nada si en la celda (hrasalida) no se ha capturado la hora?
ResponderEliminarGracias por tus maravillosos aportes
Hola,
Eliminarentenderé que por capturar quieres decir escribir algo en una celda.
Si es así, la validación de datos personalizada en la celda en cuestión sería:
=CONTAR.BLANCO(celda hrsalida)=0
Saludos
Muchas gracias, eres lo maximo.
EliminarHola Sebas,
ResponderEliminares algo raro lo que comentas... las validaciones 'no desaparecen' solas.. quizá haya otro proceso (o macro) que interactúe en esas celdas.
tienes que seleccionar el rango completo, por ejemplo A3:A10 y aplicar la validación de datos personalizada con la fórmula
=$a3<>"" y desmarcas la opción de 'Omitir blancos'
pero OJO!!, cualquier validación al respecto que incorpores te va a exigir que entres en la celda y salgas sin escribir nada para que salte la regla de validación!!!
Slds
Hola,
ResponderEliminarsi es raro...
si quieres envíame el fichero a:
excelforo@gmail.com
y lo reviso
P.D.: indícame qué celdas tendrían esa validación
Saludos
Buen dia. como aria una validación para que en una fila de datos solo permita agregar un valor y tras introducir un dato en otra celda diferente el anterior lo elimine...
ResponderEliminarHola,
Eliminaresto no es posible con la validación de datos... necesitarás algo de programación. Quizá un evento de hoja _Change que borre una celda tras el cambio de otra ¿?
Slds
Buenos dias, como puedo validar 3 celdas para que en solo una de ellas se escriba una "x", y en las demas ya no permita escribir ningun dato, indistintamente de cual de las celdas este con una "x", agradeceria que me ayuden, gracias de antemano......
ResponderEliminarHola!
Eliminarya hay un comentario similar más arriba ;-)
Sería un validación de datos personalizada.
Selecciona las tres celdas y aplica la validación con la fórmula:
=CONTAR.SI($D$5:$F$5;"x")<=1
suponiendo las tres celdas sean D5:F5
Saludos