Ayuda con Excel...

Gorobei

Miembro habitual
Mensajes
2.442
Reacciones
5.168
Hola, buenas

A ver si alguien que domine de Excel me puede echar un cable. Necesito encontrar alguna manera de poder buscar un determinado valor en diferentes columnas de la hoja de trabajo, concretamente 7, y obtener de alguna forma, el número de columnas donde se encuentre ese valor. Por ejemplo:

Valor a buscar: 17H5000

Columnas a buscar: R, V, Z, AG, AK, AO, AS

17H5000 está en las columnas V, Z y AO. Resultado que quiero tener: columnas 2, 3 y 6

17H5000 está en todas las columnas. Resultado que quiero tener: columnas 1, 2, 3, 4, 5, 6 y 7

Y así con cualquier combinación.

Hasta ahora, tenía como máximo 4 columnas en las que buscar valores, y lo solucionaba anidando funciones SI con el comando CONTAR.SI encadenado con Y, del palo: si el valor X está en las comunas 1 y 2 y 3 y 4, dame columnas 1, 2, 3, 4, si no, búscamelo en las columnas 1 y 2 y 3, si no, en las 2 y 3 y 4, si no, en las 1 y 2 y 4, etc, etc. Con 4 columnas, salen 15 combinaciones/funciones anidadas y un chorizo de fórmula de 4 líneas que acaba con 16 paréntesis, pero es que con 7 columnas, salen 127 combinaciones y ya me parece un poco inviable la cosa :sudor

No sé si me he explicado. ¿Alguna idea?
 
si tienes conocimientos de programación podrías "picarte" una macro.

otra opción podría ser pasar de excel a acces y tratar las columnas como tablas por ejemplo.

esto es lo que se me ocurre así a bote pronto

depende mucho también de lo automatizado que lo quieras, porque también podrías pone una casilla por cada columna y que se "activará" si encuentra el valor....
 
Conocimientos de programación, casi cero, así que la macro como que no.

Lo del Access tampoco, debe ir todo sobre Excel ya que se trata de una hoja de trabajo rutinario y que se usará cada día. El proceso debe ser totalmente automatizado: la celda x con el valor a buscar (que se rellena sola a partir de unos condicionantes que ya tengo) y la celda de al lado con el resultado de la búsqueda de columnas.
 
Idea: utilizar 7 fórmulas en 7 casillas en otra hoja. Cada fórmula busca en una columna, y después concatenas el resultado.

Pero todavía no entiendo lo que buscas... si resaltar el resultado, si marcar la columna, si quieres un valor numérico con la cuenta de la búsqueda,...
 
A ver si me explico mejor.

Supongamos que tenemos el valor X y lo escribimos en cualesquiera de las primeras 7 columnas de una hoja de cálculo, en cualquier fila y sin repetir en una misma columna. Por ejemplo:
A2
C6
F9
G1

Lo que me interesa es que en una celda apartada, por ejemplo, Z2, se me devuelva un resultado automático que me indique en qué columnas concretamente está el valor que busco, que en este caso sería algo así como:
ACFG, o 1367, o columnas 1-3-6-7, o algo similar.

Este proceso debe ser automático, de tal manera que si cambio el valor de columna, el resultado se actualice solo, y debe contemplar cualquier posibilidad, desde que el valor sólo esté en una columna a que esté en las 7 (hay 127 combinaciones diferentes, 1 de 7, 7 de 6, 21 de 5, 35 de 4, 35 de 3, 21 de 2 y 7 de 1).

Si creo 7 fórmulas, no sabría así a bote pronto cómo encadenarlas.
 
Si en vez de tener una celda en la que te salga "1367" no tienes 7 celdas en las que salga 1-0-3-0-0-6-7 y después concatenas estas columnas?
 
lo que propone insidius y wrc y una de las opciones que te he dado yo es mas o menos lo mismo.

Es reducir el problema a una sola columna, es decir, en lugar de intentar hacerlo todo en una sola formula (celda) es hacer una formula por cada columna

Resumiendo, tú tienees que buscar en las columnas A,B,C,D,E,F,G,H en lugar de hacer la formula por ejemplo en la celda K5 buscando por todas esas columnas sería utilizar una formula (celda) para cada columna, en K5 tendrías el resultado de la busqueda de A en K6 el resultado de la busqueda de B, y así para cada una de las columnas....

Luego puedes concatenar ese celdas (K5,K6,K7...) en otra (L5) y tendrías el resultado que estas buscando.
 
Otra pregunta... ¿ese resultado se va a utilizar para otro cálculo o sólo es para localizar la columna? ¿Necesitas el valor o que se resalte la columna?

Lo más fácil sería utilizar la búsqueda por columna y el formato condicional para el título de esa columna. Así cuando se encuentre el resultado la casilla cambia de color p.ej.
 
Gracias a todos por las sugerencias, me habéis ayudado mucho :ok

Lo he resuelto así:

El valor a buscar está en I2. Las columnas a buscarlo son A, B, C, D, E, F, G

En J2-J8 he puesto la siguiente fórmula:

Insertar CODE, HTML o PHP:
=SI(CONTAR.SI(A:A;$I$2)<>0;1;"")

Esto me devuelve el número de columna donde está el valor que busco, cambiando el 1 por el respectivo:



En la columna de al lado he puesto una fórmula matricial para copiar los valores omitiendo celdas vacías y errores:

Insertar CODE, HTML o PHP:
=SI(ESERROR(INDICE(J:J;K.ESIMO.MENOR(SI(J$2:J$8<>"";FILA(J$2:J$8));FILAS(K$2:K2))));"";INDICE(J:J;K.ESIMO.MENOR(SI(J$2:J$8<>"";FILA(J$2:J$8));FILAS(K$2:K2))))



Y ya concateno los valores como necesito, y que quede bien, con múltiples funciones SI:



Supongo que las columnas J y K podría juntarlas en una sola, pero ya me va bien así como están.

Saludos
 
Pequeño reflote .

Estoy en Numbers ,

He visto que en Excel hay muchos tutoriales , peor en numbers no hay tantos.

¿Alguna sabe como puedo hacer que una celda haga una formula en caso de que otra celda tenga un valor , pero que si esta vacía no haga nada ?

Condigo hacerlos con los condicionantes , peor no soy capaz de decirle que si la celda original esté vacía no haga nada y la deje en blanco
Captura de pantalla 2023-11-14 a las 20.23.29.png


Donde pone ese D16 es igual a 0 , yo que lo que quiero poner es que sea vacía .

Edito

Captura de pantalla 2023-11-14 a las 20.29.10.png


A ver , ya he caído como ponerle en vacío , pero no se que falla que me hace la segunda condicionante cuando no debería y me da un resultado de -50
 
Arriba Pie