SUMAR PALABRAS DISTINTAS

Solo consultas sobre Funciones y Fórmulas Excel.

Reglas del Foro
1. Antes de hacer tu pregunta intenta con el buscador de este foro (muchas preguntas ya fueron respondidas antes!)
2. Si haces una nueva pregunta, es muy recomendable que adjuntes el ejemplo Excel para poder comprenderla mejor!
3. Realiza tu pregunta de forma clara, explicando bien cada paso de lo que haces y tendrás más probabilidad de respuesta!
Compartir en:
     

Re: SUMAR PALABRAS DISTINTAS

Notapor Cacho R » 22 Ene 2012 00:16

- Gracias Adrián por tomarte el trabajo de explicar el funcionamiento de la función BUSCAR.

- villaespesa: Si te fijas en el archivo que subí para mostrar dos formas de conseguir lo mismo (como bien lo resalta Adrián), verás que he incluído una ÚNICA restricción o detalle a tener en cuenta pues lo requiere la función BUSCAR: ¿Puede ser que no la hayas leído ó tomado en cuenta? (jajajaja)

Saludos, Cacho R.
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
Avatar de Usuario
Cacho R
Miembro Frecuente
Miembro Frecuente
 
Registrado: 23 Jun 2011 17:15
Ubicación: Buenos Aires

Re: SUMAR PALABRAS DISTINTAS

Notapor Toldeman » 22 Ene 2012 05:21

Adrian escribió:Hola Toldeman, vi tu función pero me parece que sería mejor hacerla "flexible" ya que la tuya es "rígida", mira te dejo esta para que la estudies. No obstante presenté dos alternativas sin macros.

Espero tus comentarios:

Código: Seleccionar todo
Function SUMAPALABRAS(RangoSuma As Range, RangoRef As Range)
Dim Total As Double, Celda As Range
For Each Celda In RangoSuma
   'busco y sumo
  If Not RangoRef.Find(Celda.Value, LookIn:=xlValues, LookAt:=xlWhole) Is Nothing Then _
  Total = Total + RangoRef.Find(Celda.Value, LookIn:=xlValues, LookAt:=xlWhole).Offset(0, 1)
Next Celda
SUMAPALABRAS = Total
End Function


Hola adrian, en primer lugar darte las gracias por tu interes en enseñar a los que estamos empezando con esto de las macros.
Aunque el tema ya esta resuelto, escribo por la funcion que has propuesto. Me imagino que te refieres a que la funcion que hice no es flexible porque unicamente es aplicable en la hoja activa. He estado estudiando tu codigo y me alegro mucho porque entiendo como funciona, lo unico es que hay que introducir dos parametros, los dos rangos a comparar. He modificado mi anterior codigo para solo introducir un parametro, no se si voy por el camino correcto, rogaria me corrijieses.

Código: Seleccionar todo
Public Function su(rango As Range)
    For Each Celda In rango
    For i = 3 To 7
    If Sheets("Hoja1").Cells(i, 10) = Celda Then X = X + Sheets("Hoja1").Cells(i, 11)
    Next
    Next
    su = X
    End Function


Aprovecho para mandar un abrazo a mi amigo cacho que tanto paciencia a tenido conmigo, y como no otro para todos vosotros.
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
Toldeman
Miembro Frecuente
Miembro Frecuente
 
Registrado: 08 Oct 2010 01:41

Re: SUMAR PALABRAS DISTINTAS

Notapor villaespesa » 22 Ene 2012 06:55

Cacho R escribió:- Gracias Adrián por tomarte el trabajo de explicar el funcionamiento de la función BUSCAR.

- villaespesa: Si te fijas en el archivo que subí para mostrar dos formas de conseguir lo mismo (como bien lo resalta Adrián), verás que he incluído una ÚNICA restricción o detalle a tener en cuenta pues lo requiere la función BUSCAR: ¿Puede ser que no la hayas leído ó tomado en cuenta? (jajajaja)

Saludos, Cacho R.


Hola Cacho R.

Si algún otro detalle hubiera y no lo he tenido en consideración ha sido porque algo no comprendo bien, pero creo haber escrito la fórmula igual que la que vos escribiste:

Mi fórmula:= SUMAPRODUCTO( BUSCAR(B5:B11; {0\"PREV"\"CAER"\"PAER"\"ANAE"\"ANAL"\"ANAA"\"FGEN"\"FMÁX"\"FEXP"\"COOR"\"COMP"}; {0\1\2\3\4\5\2\1\5\3\1\6}) )

Tu fórmula:= SUMAPRODUCTO( BUSCAR(D17:D22; {0\"Bronce"\"Diamante"\"Oro"\"Plata"\"Plomo"}; {0\3\2\5\4\1}) )

La verdad es que las veo iguales.

No sé dónde puede estar el error.

Un saludo y a ver si me puedes indicar dónde está el detalle que no he tenido en consideración porque tiene que haberlo ya que a mí no me da un resultado correcto.
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
villaespesa
Miembro Frecuente
Miembro Frecuente
 
Registrado: 17 Ene 2012 08:07

Re: SUMAR PALABRAS DISTINTAS

Notapor Cacho R » 22 Ene 2012 13:44

¡Con todo gusto, villaespesa! Te comento:

Es muy importante (quizás es lo más importante) que tomes el hábito de leer la ayuda del Excel (tanto la del programa como la ayuda en línea).
En efecto: el problema que tienes aquí no es "encontrar la fórmula mágica" (ésa ya te la hemos proporcionado). El problema es que desconoces como trabaja un elemental función del Excel como BUSCAR.

Entonces te sugiero que leas detenidamente el siguiente enlace:

--> BUSCAR (Forma vectorial)

particularmente donde dice: IMPORTANTE.

Desde luego: ya si no dieras con la razón del mal uso de la función BUSCAR, no quedará más remedio que "darte servido" el tema (pero que conste que eso no es ayudar a estudiar el tema).

Saludos, Cacho R.
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
Avatar de Usuario
Cacho R
Miembro Frecuente
Miembro Frecuente
 
Registrado: 23 Jun 2011 17:15
Ubicación: Buenos Aires

Re: SUMAR PALABRAS DISTINTAS

Notapor villaespesa » 22 Ene 2012 16:04

Muchas gracias Cacho R.

Vaya por delante que me gusta mucho la idea de no dar cosas masticadas.

Por ello, leeré bien todo ese manual.

Espero que mi corta inteligencia me dé para comprender dicha fórmula.

Muchas gracias y ya os diré qué tal me ha ido con el ejemplo en cuestión solucionado (en su caso).
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
villaespesa
Miembro Frecuente
Miembro Frecuente
 
Registrado: 17 Ene 2012 08:07

Re: SUMAR PALABRAS DISTINTAS

Notapor Adrian » 22 Ene 2012 16:30

Toldeman, una de mis observaciones a tu función es por ejemplo:
For i = 3 To 7 'solo va de 3 a 7 que pasa si hay más o "se corre" el rango?
If Sheets("Hoja1").Cells(i, 10) = Celda Then X = X + Sheets("Hoja1").Cells(i, 11)

' Sheets("Hoja1") ' sirve para una sola hoja.

Salu2.xls
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
Avatar de Usuario
Adrian
Moderator
Moderator
 
Registrado: 13 Jun 2004 17:24
Ubicación: Chamical La Rioja ARG

Re: SUMAR PALABRAS DISTINTAS

Notapor Toldeman » 23 Ene 2012 02:25

Hola adrian, gracias por tu apreciacion. El for lo acote de 3 a 7 porque imagine que los valores de referencia (metales) serian siempre los que tiene en la tabla y en la hoja1.
Si esto no fuese asi, tú propuesta es la correcta.

Un saludo y de nuevo gracias por tú colaboración.
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
Toldeman
Miembro Frecuente
Miembro Frecuente
 
Registrado: 08 Oct 2010 01:41

Re: SUMAR PALABRAS DISTINTAS

Notapor villaespesa » 23 Ene 2012 13:22

Hola Cacho R.

He dado con la solución: ordenar en el vector comparación los distintos valores.

El problema que tenía es que al aumentar el número de valores posibles, he de estar más atento a dicho ordenamiento.

Intentaba ordenar los valores en el vector resultado y tenía el error, como es lógico.

Muchas gracias Cacho R.
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
villaespesa
Miembro Frecuente
Miembro Frecuente
 
Registrado: 17 Ene 2012 08:07

Re: SUMAR PALABRAS DISTINTAS

Notapor xpelos » 23 Ene 2012 16:21

Hola, colegas...

Esperando que nuestro amigo villaespesa proporcione alguna respuesta sobre los últimos aportes, y así, a bote pronto, lo único que se me ocurre es acudir a rangos nombrados, y liarse con la función INDIRECTO() como en el caso adjunto.
Y esto es así porque me he fijado en que las soluciones basadas en SUMAPRODUCTO() han de tener la misma dimensión.
La solución, por ejemplo:
=+SUMA(INDIRECTO(C2);INDIRECTO(C3);INDIRECTO(C4);INDIRECTO(C5);INDIRECTO(C6);INDIRECTO(C7);INDIRECTO(C8);INDIRECTO(C9);INDIRECTO(C10);INDIRECTO(C11);INDIRECTO(C12);INDIRECTO(C13);INDIRECTO(C14))
es demasiado 'pedaleada'...

Estoy buscando alguna matricial que me sume valores nombrados como si fuesen numéricos, pero por ahora, ahí va eso... Ahora, la propuesta que hago es ¿Quién me hecha una mano para reducir esto a una matricial?

Un saludo
No tiene los permisos requeridos para ver los archivos adjuntos a este mensaje.
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
xpelos
Miembro Frecuente
Miembro Frecuente
 
Registrado: 18 Ene 2006 12:39

Re: SUMAR PALABRAS DISTINTAS

Notapor villaespesa » 24 Ene 2012 11:52

XPELOS la aportación es la que indica Cacho R., ordenar los valores del vector de comparación.

Un saludo.
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
villaespesa
Miembro Frecuente
Miembro Frecuente
 
Registrado: 17 Ene 2012 08:07

Re: SUMAR PALABRAS DISTINTAS

Notapor Cacho R » 24 Ene 2012 12:48

¡Felicitaciones, villaespesa!
villaespesa escribió:... He dado con la solución: ordenar en el vector comparación los distintos valores...

Acceder a la solución siempre es grato. Pero acceder a ella mediante algún tipo de esfuerzo personal es mucho mejor, ¿No?.

Hasta la próxima.
Cacho R.
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
Avatar de Usuario
Cacho R
Miembro Frecuente
Miembro Frecuente
 
Registrado: 23 Jun 2011 17:15
Ubicación: Buenos Aires

Anterior

Compartir en:
     

  • Anuncio
Manual Excel avanzado

Volver a Funciones y Fórmulas

¿Quién está conectado?

Usuarios navegando por este Foro: Adrian, Bing [Bot], PREGUNTON y 6 invitados