¿Formulas o Macros?

03/10/2004 - 17:04 por María Delia | Informe spam
YO HICE UNA CONSULTA SOBRE COMO COMPARAR DOS O MAS
COLUMNAS ALFANUMERICAS Y QUE ME MOSTRARA EL RESULTADO EN
UN LISTADO APARTE LAS CELDAS DONDE HUBIESE
COICIDENCIAS.CREO QUE QUIZÁS LA SOLUCION SEA UNA MACRO.
¿ME PODRIAN DECIR CUAL Y COMO HACERLO?
{
SI (IF)(COLUMNA1==COLUMNA2==COLUMNA3)
COLUMNA-RESULTADO=1;
ELSE
COLUMNA-RESULTADO=0; (O COLUMNA-RESULTADO ++)
};

GARCIAS

Preguntas similare

Leer las respuestas

#6 Adolfo Aparicio
05/10/2004 - 01:15 | Informe spam
Hola Maria Delia.

Creo que lo que quieres es identificar las cadenas que se
repiten en las tres columnas y no solo contar su número.

Te propongo una macro que hace esto:

Sub iguales()
Dim UltimaFilaA As Long
Dim UltimaFilaB As Long
Dim UltimaFilaC As Long
Dim a As Long
Dim b As Long
Dim c As Long
Worksheets("Hoja2").Range("A1").Activate
Range("A1").Select
Selection.End(xlDown).Select
UltimaFilaA = ActiveCell.Row

Range("B1").Select
Selection.End(xlDown).Select
UltimaFilaB = ActiveCell.Row

Range("C1").Select
Selection.End(xlDown).Select
UltimaFilaC = ActiveCell.Row

For c = 2 To UltimaFilaC
For b = 2 To UltimaFilaB
For a = 2 To UltimaFilaA
If Cells(a, 1).Value = Cells(b, 2).Value And
Cells(c, 3).Value = Cells(b, 2).Value Then
Cells(c, 4).Value = a
Cells(c, 5).Value = b
End If
Next a
Next b
Next c
End Sub


Para que funcione la macro los datos deben estan el
la "Hoja2", y concretamente las cabeceras (GARANTIAS
NAT73 MAURICIO) en las celdas A1, B1 y C1. Los datos
comenzaran en A2, B2 y C2.
Debes tener vacias las columnas D y E.

Al ejecutar la macro veras que lo que hace es analizar si
alguna cadena se repite en las tres columna y en caso
afirmativo pone a la derecha de la cadena que se repite
de la columna C el valor de la fila donde esta la cadena
repetida de las columna A y B.

Ejemplo: Con los datos que das he probado la macro y
resulta en que en D3 aparece el número 2, que significa
que la cadena 00073IT14025780W de Mauricio que está en la
celda C3 tiene una cadena igual en la columna A fila 2.
Y en E3 aparece otro número 2, que significa que esa
misma cadena tiene su igual en la fila 2 de la columana B.

Es más complicado de explicar de lo que realmente es.
Prueba la macro y verás como quedan identificadas las
cadenas repetidas y además te dice dónde están.

Un saludo.

Adolfo Aparicio

Visita mi página: wwww.excelavanzado.com




GRACIAS POR CONTESTAR TRATE LO QUE DICEN PERO ME DA COMO
FOMULA NO VALIDA. SI TUVIESEN UN EJEMPLO SE LOS
AGRADECERIA. ESTO ES LO QUE DEBO HACER CON TRES COLUMNAS
A LAS QUE YA DEFINI SU NOMBRE Y RANGO:
GARANTIAS NAT73 MAURICIO
00073IT14025780W 00073IT14025780W 01073IT14000412X
02073IT14021311P 04073IT14025466M


00073IT14025780W
00073IT04000032V 03073IT00005241Z 03073IT01254658R

LA COLUMNA GARANTIAS TIENE 2010 DATOS.LA DE NAT73 4283 Y
LA DE MAURICIO 150. YO TENGO QUE ENCONTRAR TODO LO QUE
PERTENECE A GARANTIAS Y APAREZCA ENLAS DOS RESTANTES.
UNMILLON DE GRACIAS POR TRATAR DE AYUDARME






puedes usar una formula

=si(columna1=columna2,si(columna2=columna3,1,0),0)


-
Saludos

Manolo
Cancun, Quintana Roo


"María Delia" escribió en el


mensaje
news:158101c4a95a$507b5fb0$
YO HICE UNA CONSULTA SOBRE COMO COMPARAR DOS O MAS
COLUMNAS ALFANUMERICAS Y QUE ME MOSTRARA EL RESULTADO EN
UN LISTADO APARTE LAS CELDAS DONDE HUBIESE
COICIDENCIAS.CREO QUE QUIZÁS LA SOLUCION SEA UNA MACRO.
¿ME PODRIAN DECIR CUAL Y COMO HACERLO?
{
SI (IF)(COLUMNA1==COLUMNA2==COLUMNA3)
COLUMNA-RESULTADO=1;
ELSE
COLUMNA-RESULTADO=0; (O COLUMNA-RESULTADO ++)
};

GARCIAS


.



.

Respuesta Responder a este mensaje
#7 María Delia
06/10/2004 - 15:19 | Informe spam
ME PODRIAS DECIR DONDE SE VISUALIZA EL RESULTADO DE
CONTAR SI. TIENES MI CORREO. PUEDES MANDARME UNO
FUNCIONAMDO?




hola, chicos !

puedes usar una formula
=si(columna1=columna2,si(columna2=columna3,1,0),0)



una alternativa mas... usando los formatos condicionales


[formula y formato]...
-> usar la condicion1 para la situacion mas 'dificil'


[que se pueda presentar]
y [obviamente] formatos 'diferentes' para cada


formula/condicion
[p.e.] para comparar doscolumnas contiguas suponiendo


que el rango es 'A2:B[n]'
formula1: =contar.si($a2:$c2,a2)=2
[p.e.] para comparar doscolumnas contiguas suponiendo


que el rango es 'A2:C[n]'
formula1: =contar.si($a2:$c2,a2)=3
formula2: =contar.si($a2:$c2,a2)=2
[p.e.] para comparar doscolumnas contiguas suponiendo


que el rango es 'A2:D[n]'
formula1: =contar.si($a2:$c2,a2)=4
formula2: =contar.si($a2:$c2,a2)=3
formula3: =contar.si($a2:$c2,a2)=2
-> si se requiere comparar mas de cuatro columnas [mas


de tres condiciones]... ->macros<- :(

saludos,
hector.
.

Respuesta Responder a este mensaje
#8 María Delia
06/10/2004 - 15:45 | Informe spam
GRACIAS MANOLO PERO NO SE COMO GARBAR LA MACRO. RECIEN
ESTOY EMPEZANDO. ENTENDISTE BIEN. A MI SOLO ME INTERESA
SABER LOS DATOS QUE COICIDEN CON LA COLUMNA GARANTIAS.
SALUDOS DESDE BUENOS AIRES,ARGENTINA.
CUALQUIER EJEMPLO O SUGERENCIA SERA BIEN RECIBIDA. YO LE
DIJE A LA PERSONA QUE NECESITA ESTE TRABAJO QUE ERA MEJOR
TRATAR ESTOS DATOS CON ACCESS YA QUE PARA CONSULTAS ES
MAS FACIL CRUZAR INFORMACION, NO?.- EL PROBLEMA ES ASI:
EXISTE UNA HOJA CON UNA COLUMNA "GARANTIAS" QUE TIENE
2010 VALORES SIEMPRE ASI: #####IT########(A-Z). LAS
LETRAS DEL MEDIO SON SIEMPRE LAS MISMAS, PERO LAS FINALES
PUEDEN VARIAR Y NO SE HA DEFINIDO UN FORMATO
PERSANALIZADO COMO PARA QUE EL QUE INGRESE DATOS LO HAGA
SOLO DE ESA MANERA.LUEGO HAY OTRA HOJA CON DOS
COLUMNAS:"NAT73" CON 4283 VALORES Y "EXPEDIENTES"
REACIONADO A LA CELDA CONTIGUA DE NAT73. OSEA QUE HAY
CELDAS EN "NAT73" QUE POSEEN UN NºDE "EXPEDIEMTE" EN LA
COLUMNA "EXPEDIENTE". POR ESO YO TENGO QUE SABER SI HAY
VALORES EN "NAT73" QUE COICIDAN CON "GARANTIAS" Y COPIAR
EN LA CELDA CONTIGUA EL NºDE EXPEDIENTE CORRESPONDIENTE
QUE ENCUENTRE EN NAT73.
GARANTIAS ENCONTRADOS
02073IT14000238P AA7772023/03
02073IT14023331W
03073IT04000012A
02073IT14002341X AA4572312/00


NAT73 EXPEDIENTES
03073IT14232202M AA7732356/04
02073IT14000238P AA7772023/03
00073IT04001230S AA7542384/03
02073IT14002341X AA4572312/00

ASI ME PARECE MAS CLARO.









Hola Maria Delia.

Creo que lo que quieres es identificar las cadenas que


se
repiten en las tres columnas y no solo contar su número.

Te propongo una macro que hace esto:

Sub iguales()
Dim UltimaFilaA As Long
Dim UltimaFilaB As Long
Dim UltimaFilaC As Long
Dim a As Long
Dim b As Long
Dim c As Long
Worksheets("Hoja2").Range("A1").Activate
Range("A1").Select
Selection.End(xlDown).Select
UltimaFilaA = ActiveCell.Row

Range("B1").Select
Selection.End(xlDown).Select
UltimaFilaB = ActiveCell.Row

Range("C1").Select
Selection.End(xlDown).Select
UltimaFilaC = ActiveCell.Row

For c = 2 To UltimaFilaC
For b = 2 To UltimaFilaB
For a = 2 To UltimaFilaA
If Cells(a, 1).Value = Cells(b, 2).Value And
Cells(c, 3).Value = Cells(b, 2).Value Then
Cells(c, 4).Value = a
Cells(c, 5).Value = b
End If
Next a
Next b
Next c
End Sub


Para que funcione la macro los datos deben estan el
la "Hoja2", y concretamente las cabeceras (GARANTIAS
NAT73 MAURICIO) en las celdas A1, B1 y C1. Los datos
comenzaran en A2, B2 y C2.
Debes tener vacias las columnas D y E.

Al ejecutar la macro veras que lo que hace es analizar


si
alguna cadena se repite en las tres columna y en caso
afirmativo pone a la derecha de la cadena que se repite
de la columna C el valor de la fila donde esta la cadena
repetida de las columna A y B.

Ejemplo: Con los datos que das he probado la macro y
resulta en que en D3 aparece el número 2, que significa
que la cadena 00073IT14025780W de Mauricio que está en


la
celda C3 tiene una cadena igual en la columna A fila 2.
Y en E3 aparece otro número 2, que significa que esa
misma cadena tiene su igual en la fila 2 de la columana


B.

Es más complicado de explicar de lo que realmente es.
Prueba la macro y verás como quedan identificadas las
cadenas repetidas y además te dice dónde están.

Un saludo.

Adolfo Aparicio

Visita mi página: wwww.excelavanzado.com




GRACIAS POR CONTESTAR TRATE LO QUE DICEN PERO ME DA




COMO
FOMULA NO VALIDA. SI TUVIESEN UN EJEMPLO SE LOS
AGRADECERIA. ESTO ES LO QUE DEBO HACER CON TRES




COLUMNAS
A LAS QUE YA DEFINI SU NOMBRE Y RANGO:
GARANTIAS NAT73 MAURICIO
00073IT14025780W 00073IT14025780W




01073IT14000412X
02073IT14021311P 04073IT14025466M


00073IT14025780W
00073IT04000032V 03073IT00005241Z




03073IT01254658R

LA COLUMNA GARANTIAS TIENE 2010 DATOS.LA DE NAT73 4283




Y
LA DE MAURICIO 150. YO TENGO QUE ENCONTRAR TODO LO QUE
PERTENECE A GARANTIAS Y APAREZCA ENLAS DOS RESTANTES.
UNMILLON DE GRACIAS POR TRATAR DE AYUDARME






puedes usar una formula

=si(columna1=columna2,si(columna2=columna3,1,0),0)


-
Saludos

Manolo
Cancun, Quintana Roo


"María Delia" escribió en el


mensaje
news:158101c4a95a$507b5fb0$
YO HICE UNA CONSULTA SOBRE COMO COMPARAR DOS O MAS
COLUMNAS ALFANUMERICAS Y QUE ME MOSTRARA EL RESULTADO






EN
UN LISTADO APARTE LAS CELDAS DONDE HUBIESE
COICIDENCIAS.CREO QUE QUIZÁS LA SOLUCION SEA UNA MACRO.
¿ME PODRIAN DECIR CUAL Y COMO HACERLO?
{
SI (IF)(COLUMNA1==COLUMNA2==COLUMNA3)
COLUMNA-RESULTADO=1;
ELSE
COLUMNA-RESULTADO=0; (O COLUMNA-RESULTADO ++)
};

GARCIAS


.



.



.

Respuesta Responder a este mensaje
#9 Adolfo Aparicio
07/10/2004 - 13:20 | Informe spam
Hola Maria Delia.

Lo de Manolo me ha gustado. Nunca pensé en llamarme así.

Si ves que no consigo entender lo que necesitas puedes
mandarme un correo adjuntando el fichero de excel, para
ver si consigo verlo.

He creado un fichero de ejemplo para solucionar tu caso.
Está en la página
www.excelavanzado.com
en el apartado de Macros y el fichero se llama:
ComparaValores.xls

Para ejecutar la macro tienes unos botones, por lo que es
facil.

Un saludo.

Adolfo Aparicio
www.excelavanzado.com


GRACIAS MANOLO PERO NO SE COMO GARBAR LA MACRO. RECIEN
ESTOY EMPEZANDO. ENTENDISTE BIEN. A MI SOLO ME INTERESA
SABER LOS DATOS QUE COICIDEN CON LA COLUMNA GARANTIAS.
SALUDOS DESDE BUENOS AIRES,ARGENTINA.
CUALQUIER EJEMPLO O SUGERENCIA SERA BIEN RECIBIDA. YO LE
DIJE A LA PERSONA QUE NECESITA ESTE TRABAJO QUE ERA


MEJOR
TRATAR ESTOS DATOS CON ACCESS YA QUE PARA CONSULTAS ES
MAS FACIL CRUZAR INFORMACION, NO?.- EL PROBLEMA ES ASI:
EXISTE UNA HOJA CON UNA COLUMNA "GARANTIAS" QUE TIENE
2010 VALORES SIEMPRE ASI: #####IT########(A-Z). LAS
LETRAS DEL MEDIO SON SIEMPRE LAS MISMAS, PERO LAS


FINALES
PUEDEN VARIAR Y NO SE HA DEFINIDO UN FORMATO
PERSANALIZADO COMO PARA QUE EL QUE INGRESE DATOS LO HAGA
SOLO DE ESA MANERA.LUEGO HAY OTRA HOJA CON DOS
COLUMNAS:"NAT73" CON 4283 VALORES Y "EXPEDIENTES"
REACIONADO A LA CELDA CONTIGUA DE NAT73. OSEA QUE HAY
CELDAS EN "NAT73" QUE POSEEN UN NºDE "EXPEDIEMTE" EN LA
COLUMNA "EXPEDIENTE". POR ESO YO TENGO QUE SABER SI HAY
VALORES EN "NAT73" QUE COICIDAN CON "GARANTIAS" Y COPIAR
EN LA CELDA CONTIGUA EL NºDE EXPEDIENTE CORRESPONDIENTE
QUE ENCUENTRE EN NAT73.
GARANTIAS ENCONTRADOS
02073IT14000238P AA7772023/03
02073IT14023331W
03073IT04000012A
02073IT14002341X AA4572312/00


NAT73 EXPEDIENTES
03073IT14232202M AA7732356/04
02073IT14000238P AA7772023/03
00073IT04001230S AA7542384/03
02073IT14002341X AA4572312/00

ASI ME PARECE MAS CLARO.









Hola Maria Delia.

Creo que lo que quieres es identificar las cadenas que


se
repiten en las tres columnas y no solo contar su número.

Te propongo una macro que hace esto:

Sub iguales()
Dim UltimaFilaA As Long
Dim UltimaFilaB As Long
Dim UltimaFilaC As Long
Dim a As Long
Dim b As Long
Dim c As Long
Worksheets("Hoja2").Range("A1").Activate
Range("A1").Select
Selection.End(xlDown).Select
UltimaFilaA = ActiveCell.Row

Range("B1").Select
Selection.End(xlDown).Select
UltimaFilaB = ActiveCell.Row

Range("C1").Select
Selection.End(xlDown).Select
UltimaFilaC = ActiveCell.Row

For c = 2 To UltimaFilaC
For b = 2 To UltimaFilaB
For a = 2 To UltimaFilaA
If Cells(a, 1).Value = Cells(b, 2).Value




And
Cells(c, 3).Value = Cells(b, 2).Value Then
Cells(c, 4).Value = a
Cells(c, 5).Value = b
End If
Next a
Next b
Next c
End Sub


Para que funcione la macro los datos deben estan el
la "Hoja2", y concretamente las cabeceras (GARANTIAS
NAT73 MAURICIO) en las celdas A1, B1 y C1. Los datos
comenzaran en A2, B2 y C2.
Debes tener vacias las columnas D y E.

Al ejecutar la macro veras que lo que hace es analizar


si
alguna cadena se repite en las tres columna y en caso
afirmativo pone a la derecha de la cadena que se repite
de la columna C el valor de la fila donde esta la




cadena
repetida de las columna A y B.

Ejemplo: Con los datos que das he probado la macro y
resulta en que en D3 aparece el número 2, que significa
que la cadena 00073IT14025780W de Mauricio que está en


la
celda C3 tiene una cadena igual en la columna A fila 2.
Y en E3 aparece otro número 2, que significa que esa
misma cadena tiene su igual en la fila 2 de la columana


B.

Es más complicado de explicar de lo que realmente es.
Prueba la macro y verás como quedan identificadas las
cadenas repetidas y además te dice dónde están.

Un saludo.

Adolfo Aparicio

Visita mi página: wwww.excelavanzado.com




GRACIAS POR CONTESTAR TRATE LO QUE DICEN PERO ME DA




COMO
FOMULA NO VALIDA. SI TUVIESEN UN EJEMPLO SE LOS
AGRADECERIA. ESTO ES LO QUE DEBO HACER CON TRES




COLUMNAS
A LAS QUE YA DEFINI SU NOMBRE Y RANGO:
GARANTIAS NAT73 MAURICIO
00073IT14025780W 00073IT14025780W




01073IT14000412X
02073IT14021311P 04073IT14025466M


00073IT14025780W
00073IT04000032V 03073IT00005241Z




03073IT01254658R

LA COLUMNA GARANTIAS TIENE 2010 DATOS.LA DE NAT73 4283




Y
LA DE MAURICIO 150. YO TENGO QUE ENCONTRAR TODO LO QUE
PERTENECE A GARANTIAS Y APAREZCA ENLAS DOS RESTANTES.
UNMILLON DE GRACIAS POR TRATAR DE AYUDARME






puedes usar una formula

=si(columna1=columna2,si(columna2=columna3,1,0),0)


-
Saludos

Manolo
Cancun, Quintana Roo


"María Delia" escribió en el


mensaje
news:158101c4a95a$507b5fb0$
YO HICE UNA CONSULTA SOBRE COMO COMPARAR DOS O MAS
COLUMNAS ALFANUMERICAS Y QUE ME MOSTRARA EL RESULTADO






EN
UN LISTADO APARTE LAS CELDAS DONDE HUBIESE
COICIDENCIAS.CREO QUE QUIZÁS LA SOLUCION SEA UNA








MACRO.
¿ME PODRIAN DECIR CUAL Y COMO HACERLO?
{
SI (IF)(COLUMNA1==COLUMNA2==COLUMNA3)
COLUMNA-RESULTADO=1;
ELSE
COLUMNA-RESULTADO=0; (O COLUMNA-RESULTADO ++)
};

GARCIAS


.



.



.



.

Respuesta Responder a este mensaje
#10 Adolfo Aparicio
07/10/2004 - 13:50 | Informe spam
Creo que ya está solucionado el tema.

Lo tienes en
www.excelavanzado.com
en el apartado de MACROS.

Concretamente se trata del fichero Expedientes.xls

Espero que sea el fichero correcto. Yo lo he probado y
funciona muy bien. Con miles de datos tardará en
ejecutarse. Paciencia.

Un saludo.

Adolfo Aparicio
www.excelavanzado.com

GRACIAS POR CONTESTAR TRATE LO QUE DICEN PERO ME DA COMO
FOMULA NO VALIDA. SI TUVIESEN UN EJEMPLO SE LOS
AGRADECERIA. ESTO ES LO QUE DEBO HACER CON TRES COLUMNAS
A LAS QUE YA DEFINI SU NOMBRE Y RANGO:
GARANTIAS NAT73 MAURICIO
00073IT14025780W 00073IT14025780W 01073IT14000412X
02073IT14021311P 04073IT14025466M


00073IT14025780W
00073IT04000032V 03073IT00005241Z 03073IT01254658R

LA COLUMNA GARANTIAS TIENE 2010 DATOS.LA DE NAT73 4283 Y
LA DE MAURICIO 150. YO TENGO QUE ENCONTRAR TODO LO QUE
PERTENECE A GARANTIAS Y APAREZCA ENLAS DOS RESTANTES.
UNMILLON DE GRACIAS POR TRATAR DE AYUDARME






puedes usar una formula

=si(columna1=columna2,si(columna2=columna3,1,0),0)


-
Saludos

Manolo
Cancun, Quintana Roo


"María Delia" escribió en el


mensaje
news:158101c4a95a$507b5fb0$
YO HICE UNA CONSULTA SOBRE COMO COMPARAR DOS O MAS
COLUMNAS ALFANUMERICAS Y QUE ME MOSTRARA EL RESULTADO EN
UN LISTADO APARTE LAS CELDAS DONDE HUBIESE
COICIDENCIAS.CREO QUE QUIZÁS LA SOLUCION SEA UNA MACRO.
¿ME PODRIAN DECIR CUAL Y COMO HACERLO?
{
SI (IF)(COLUMNA1==COLUMNA2==COLUMNA3)
COLUMNA-RESULTADO=1;
ELSE
COLUMNA-RESULTADO=0; (O COLUMNA-RESULTADO ++)
};

GARCIAS


.



.

email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida