Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  Excel
  excel funktion, nach kriterien suchen und summe bilden

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
Autor Thema:  excel funktion, nach kriterien suchen und summe bilden (5443 mal gelesen)
Viper.qt
Mitglied
Student

Sehen Sie sich das Profil von Viper.qt an!   Senden Sie eine Private Message an Viper.qt  Schreiben Sie einen Gästebucheintrag für Viper.qt

Beiträge: 4
Registriert: 29.11.2007

erstellt am: 29. Nov. 2007 11:51    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Guten Tag,

ich bin leider ein graußiger excel und vbs newbie, arbeite ansich nur mit php/asp, bräuchte aber nun ausnahmsweise eine kleine excel/vbs Funktion und kenn mich leider null damit aus.

Ich hoffe und bitte das mir kurz einer Hilft der sich auf diesem Gebiet auskennt und für dem diese Lösung nur wenige Handgriffe sind.

Zum Problem:

1 File (daten.xls) mit mehrern Tabellenblättern
In einem Tabellenblatt stehen Daten in mehrern Spalten (ID, Datum, Gruppe, Anzahl, Kosten) und natürlich in vielen Zeilen die Daten.
Diese Daten sollen anhand eines Kriteriums durchgegangen werden und eine Summe in ein anderes Tabellenblatt übergeben werden.


Nochmals anhand einer schematischen programmierung:

Code:

for(i=0; i<ende; i++)  //alle zeilen des tabellenblattes durchgehen
{
//stimmt suchkriterium überein (welches auch von einem anderen Tabellenblatt übergeben wird, bilde mir eine Summe

if(Datum=="$DatumÜbergabe" && Gruppe=="$GruppeÜbergabe" && Anzahl =="$AnzahlÜbergabe")
{
summe = summe+kosten;
}
}

//die Summe wird zurückgeschrieben
return summe

Useability:
Man gibt in Tabellenblatt 1 in jeweils in 1 Feld ein: Datum, Gruppe, Anzahl
Und bekommt in einem Anderen Feld das Ergebnis zurückgeliefert.

Herzlichen Dank,

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Oberli Mike
Ehrenmitglied V.I.P. h.c.
Dipl. Maschinen Ing.



Sehen Sie sich das Profil von Oberli Mike an!   Senden Sie eine Private Message an Oberli Mike  Schreiben Sie einen Gästebucheintrag für Oberli Mike

Beiträge: 3728
Registriert: 29.09.2004

Excel 2010
128GB SSD
Windows 7

erstellt am: 29. Nov. 2007 12:19    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Viper.qt 10 Unities + Antwort hilfreich

Hallo Viper.qt,

Muss es VBA sein?

Schau dir mal die Excel-Funktion Summewenn an.

Gruss
Mike

------------------

The Power Of Dreams

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Viper.qt
Mitglied
Student

Sehen Sie sich das Profil von Viper.qt an!   Senden Sie eine Private Message an Viper.qt  Schreiben Sie einen Gästebucheintrag für Viper.qt

Beiträge: 4
Registriert: 29.11.2007

erstellt am: 29. Nov. 2007 12:48    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

summewenn lässt sich nur auf 1 suchkriterium anwenden,

abhilfe bildet das summenprodukt, das funktioniert jedoch nicht, da ich als summenergebnis ein ganzes array mit der anzahl der durchsuchten daten zurückbekomme, wo 0 oder eben der Kostenwert drinnen steht, bei richtigem Suchkriterium

und von dort komme ich nicht weiter zu einer einzelnen summenzahl dieses arrays (vollautomatisch)

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Oberli Mike
Ehrenmitglied V.I.P. h.c.
Dipl. Maschinen Ing.



Sehen Sie sich das Profil von Oberli Mike an!   Senden Sie eine Private Message an Oberli Mike  Schreiben Sie einen Gästebucheintrag für Oberli Mike

Beiträge: 3728
Registriert: 29.09.2004

Excel 2010
128GB SSD
Windows 7

erstellt am: 29. Nov. 2007 12:59    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Viper.qt 10 Unities + Antwort hilfreich

Über VBA kann man sowas sicher lösen, wobei meine Lösung etwas sehr
kompliziert ausfallen würde.

Kannst du eine zusätzliche Spalte einfügen?
Mit dieser Spalte kannst du mit geschachtelten Wenn Abfragen verschiedene
Kriterien berücksichtigen, und dann 1 oder 0 ausgeben.
Die Summer der Spalte kannst du dann sogar mit der normalen Summenfunktion
bilden.

z.B. =wenn(A1="Test1";wenn(A2="Test2";wenn(A3="Test3";1;0);0);0)
Wenn ich mich richtig entsinne, kann man bis 8 wenn schachteln.

Gruss
Mike

------------------

The Power Of Dreams

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Hajo_Zi
Mitglied
Projektant


Sehen Sie sich das Profil von Hajo_Zi an!   Senden Sie eine Private Message an Hajo_Zi  Schreiben Sie einen Gästebucheintrag für Hajo_Zi

Beiträge: 479
Registriert: 26.03.2003

erstellt am: 29. Nov. 2007 13:19    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Viper.qt 10 Unities + Antwort hilfreich

Hallo Nick,

benutze SUMMEWENNS()

Gruß Hajo

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Viper.qt
Mitglied
Student

Sehen Sie sich das Profil von Viper.qt an!   Senden Sie eine Private Message an Viper.qt  Schreiben Sie einen Gästebucheintrag für Viper.qt

Beiträge: 4
Registriert: 29.11.2007

erstellt am: 29. Nov. 2007 13:23    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

ja ich kann =WENN(Tabelle1!T:T="B";WENN(Tabelle1!U:U=1;1);0) machen
und danach summewenn,

aber die =wenn... fuktion von oben, liefert mir ein array, das ich aber immer händisch "aufziehen" muss, damit ich den inhalt sehe, somit kann ich es nicht "vollautomatisch" verwenden

das gleiche wie bereits beschrieben bei dem summenprodukt

ich makiere die ganze spalte und gebe die formel ein, das ergebniss muss automatisch die ganze spalte füllen (die daten bekommt er ja auch von einer spalte, die von 1 bis max)

dann würde es so funktionieren 

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Paulchen
Mitglied
Bauing./SW-Entwickler


Sehen Sie sich das Profil von Paulchen an!   Senden Sie eine Private Message an Paulchen  Schreiben Sie einen Gästebucheintrag für Paulchen

Beiträge: 1227
Registriert: 19.08.2004

Büro: Win10 Enterprise 64bit, Office Professional Plus 2013 - Privat: Linux Mint 15, LibreOffice

erstellt am: 29. Nov. 2007 13:32    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Viper.qt 10 Unities + Antwort hilfreich

Hallo Viper.qt,

wenn ich das Thema dieses Beitrags in den Google kopiere, kommt einiges an sinnvollen Quellen. Ist da was verwertbares / übertragbares / erweiterbares dabei? Evtl. magst Du 'ne Beispielmappe mit "Blinddaten" hochladen, das würde das weitere Vorgehen ungemein erleichtern?!

Gruß,
Frederik

------------------
DIN1055.de  |  Lastannahmen für Anwender

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Oberli Mike
Ehrenmitglied V.I.P. h.c.
Dipl. Maschinen Ing.



Sehen Sie sich das Profil von Oberli Mike an!   Senden Sie eine Private Message an Oberli Mike  Schreiben Sie einen Gästebucheintrag für Oberli Mike

Beiträge: 3728
Registriert: 29.09.2004

Excel 2010
128GB SSD
Windows 7

erstellt am: 29. Nov. 2007 13:41    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Viper.qt 10 Unities + Antwort hilfreich

über VBA kannst du die Formel einfügen lassen.

z.B.
Worksheets("Tabelle1").Cells(1, 5).FormulaR1C1 = "=IF(RC[-4]=1,1,0)"
ergibt auf dem Blatt Tabelle1 in der Zelle E1 den Eintrag
=WENN(A1=1;1;0)

über eine for i = 1 to N (wobei N die Anzahl Zeilen darstellt)
kann man alle notwendigen Abfragen eintragen.

Allerdings kann man es dann gleich im VBA programmieren.


Summe = 0
for i = 1 to N (N wieder die Anzahl zeilen)
  if worksheets("Tabelle1").Cells(1,1) = "A" and worksheets("Tabelle1").Cells(1,2) = "B" then
  Summe = Summe + 1
  next i

Anstelle von Summe = Summe + 1, kannst du natürlich auch z.B.
Summe = Summe + worksheets("Tabelle1").Cells(3,1)

Gruss
Mike

------------------

The Power Of Dreams

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

runkelruebe
Moderator
Straßen- / Tiefbau




Sehen Sie sich das Profil von runkelruebe an!   Senden Sie eine Private Message an runkelruebe  Schreiben Sie einen Gästebucheintrag für runkelruebe

Beiträge: 8075
Registriert: 09.03.2006

MS-Office 365 ProPlus x86
WIN7(x64)

erstellt am: 29. Nov. 2007 13:53    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Viper.qt 10 Unities + Antwort hilfreich

@Viper.qt: Herzlich willkommen bei cad.de.
Füll bitte Deine sysinfo aus, sonst kommen Antworten, die Du u.U. nicht verwenden kannst.

@hajo
SUMMEWENNS() ist ne XL2007-Formel?
Und könntest Du Dir bitte in Zukunft die IMHOIn my humble oppinion (Meiner Meinung nach) provokante Anrede "Hallo Nick" sparen? Hier muß sich keiner mit seinem Real-Namen anmelden und Du wirst das auch nicht ändern.

------------------
Gruß,
runkelruebe                         Herr Kann-ich-nich wohnt in der Will-ich-nich-Straße...

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Viper.qt
Mitglied
Student

Sehen Sie sich das Profil von Viper.qt an!   Senden Sie eine Private Message an Viper.qt  Schreiben Sie einen Gästebucheintrag für Viper.qt

Beiträge: 4
Registriert: 29.11.2007

erstellt am: 29. Nov. 2007 15:18    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo,

danke für die vielen Antworten und Beiträge

konnte nun auf einen guten Ansatz kommen, wo es zu funktionieren scheint:

=SUMMENPRODUKT((INDIREKT("Tabelle1!T2:T"&Global!B4)="B")*(INDIREKT("Tabelle1!U2:U"&Global!B4)=1)*
(INDIREKT("Global!G1:G"&Global!B5)=B2)*(INDIREKT("Tabelle1!G2:G"&Global!B4)))

Danke!

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

DegraA
Mitglied
staatl. gepr. Techniker - Maschinenbau


Sehen Sie sich das Profil von DegraA an!   Senden Sie eine Private Message an DegraA  Schreiben Sie einen Gästebucheintrag für DegraA

Beiträge: 177
Registriert: 29.03.2005

Dell Latitude E5500
Core2Duo 2,53GHz
3,45 GB RAM
Win XP Prof. SP3
Office 2003 Prof.
Catia V4.2.4
Catia V5R19
i break together

erstellt am: 09. Jan. 2008 11:06    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Viper.qt 10 Unities + Antwort hilfreich

moin moin 

ich habe so ein ähnliches Problem....

ich weiß nicht ob ihr dieses eine Spiel kennt wo in eine "Nagelpyramide" (keine Ahnung ob man das so nennt) ein Ball oder eine Kugel geworfen wird und diese/r dann nur nach rechts oder links fallen kann.

meine Pyramide besteht aus 8 Ebenen und am ende warten insgesamt 9 Fächer auf die Kugel oder was auch immer.

Ich habe mit der Funktion ZUFALLSZAHL() für alle 8 Ebenen die möglichkeit "Rechts" oder "Links" eingegeben und möchte jetzt ermitteln in welches Fach die Kugel reinfällt.

Wenn die Kugel 8 mal nach Links fällt dann landet sie logischerweise im 1. Fach
Fällt sie allerdings 8 mal nach Rechts, dann landet sie im 9. Fach
Fällt sie 4 mal nach Links und 4 mal nach Rechts dann landet sie im 5. Fach
usw.
usw.
ich habe versucht mit ineinander verschachtelten =WENN Funktionen zu arbeiten, aber bei 7 war schluss 
ich brauche aber mindestens 8
dann könnte ich das letzte Fach mit (...;SONST_WERT) erreichen.

hat jemand eine idee wie ich das erreichen kann ??

wenn noch unklarheiten zur Aufgabenstellung sind, dann einfach fragen 

gr33zz
David

------------------

Am lautesten werden Lehrer, wenn sie "Ruhe!" brüllen.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

CADdog
Ehrenmitglied V.I.P. h.c.




Sehen Sie sich das Profil von CADdog an!   Senden Sie eine Private Message an CADdog  Schreiben Sie einen Gästebucheintrag für CADdog

Beiträge: 2237
Registriert: 30.04.2004

erstellt am: 09. Jan. 2008 11:11    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Viper.qt 10 Unities + Antwort hilfreich

Hallo,
du musst nur die Anzahl der "Rechtsfaller" zählen, um 1 erhöhen und hast die Fachnummer.
Da muss nix verschachtelt werden.

------------------

Gruß Thomas
CADdog, the dog formerly known as TR

AutoCAD spricht mit einem, aber viele hören nicht zu.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

DegraA
Mitglied
staatl. gepr. Techniker - Maschinenbau


Sehen Sie sich das Profil von DegraA an!   Senden Sie eine Private Message an DegraA  Schreiben Sie einen Gästebucheintrag für DegraA

Beiträge: 177
Registriert: 29.03.2005

Dell Latitude E5500
Core2Duo 2,53GHz
3,45 GB RAM
Win XP Prof. SP3
Office 2003 Prof.
Catia V4.2.4
Catia V5R19
i break together

erstellt am: 09. Jan. 2008 13:08    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Viper.qt 10 Unities + Antwort hilfreich

hat funktioniert, DANKE   

zwar etwas anders als ich wollte, aber mit einigen Tricks passt es so wie es soll 

------------------

Am lautesten werden Lehrer, wenn sie "Ruhe!" brüllen.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz