Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Summenprodukt + dynamische verknüpfung

162 views
Skip to first unread message

Clarckkent

unread,
Feb 4, 2008, 7:56:00 AM2/4/08
to
Hallo zusammen,

ich möchte eine Summenproduktformel aus einem Textstring bauen.
Der unten gezeigte String ist zusammengebaut.

A1: 'C:\Daten\UAS\Artikeldownload
2008-01-21\[BE040-045.xls]BE040-045!$A$1:$A$100

=summenprodukt((A1=10)*1)

Die formel soll mir aus dem Dokument:
Pfad: siehe oben, Datei: BE040-045.xls, Blatt BE040-045, Bereich: A1:A100
die Anzahl der Werte von 10 aufsummieren. Also, wie oft kommt die 10 in der
Spalte A1:A100 vor?

Ich bekomme immer 0 angezeigt. Es stehen aber definitiv richtige Werte (10)
in der Spalte A1:A100.

Ich vermute, das der Aufbau des Pfad-Stringen nicht korrekt ist (A1).

Vielen Dank im Voraus

CK
--
Best regards
CK

Alexander Wolff

unread,
Feb 4, 2008, 8:14:26 AM2/4/08
to
> ich möchte eine Summenproduktformel aus einem Textstring bauen.
> Der unten gezeigte String ist zusammengebaut.
>
> A1: 'C:\Daten\UAS\Artikeldownload
> 2008-01-21\[BE040-045.xls]BE040-045!$A$1:$A$100
>
> =summenprodukt((A1=10)*1)

Statt A1 muss es INDIREKT(A1) heißen.

Dafür muss aber die Quelldatei geöffnet sein! Ich nehme an, dass diese
Voraussetzung bei Dir nicht vorliegt.

Für ungeöffnete Quellen mussst Du Dich mit VBA auseinandersetzen.
--
Moin+Gruss Alexander - MVP for MS Excel - www.xxcl.de - mso2000sp3 --7-2


Klaus "Perry" Pago

unread,
Feb 4, 2008, 8:15:43 AM2/4/08
to
Hallo Clarckkent,

"Clarckkent" <Clarc...@discussions.microsoft.com> schrieb im Newsbeitrag
news:664A1E42-E551-471A...@microsoft.com...

der String wird mit 10 verglichen und das Ergebnis "Falsch" * 1 wird als 0
ausgegeben. Du kommst um INDIREKT() nicht herum, aber das hatten wir ja
schon vorhin in einem anderen Thread.

Gruß
Klaus

Clarckkent

unread,
Feb 4, 2008, 8:28:00 AM2/4/08
to
Hallo
vielen Dank erst einmal für die Antworten.
Also, ich dachte, das Indirekt zwar nicht mit geschlossenen Dateien
funktioniert ABER doch Summenprodukt. Also heißt es im Grunde, das man mit
Summenprodukt eine dynamischen Bereich ansprechen kann. Richtig?

Nun,ja. Wenn es nicht geht dann muss ich mir was anderes überlegen.

Frage: Ich habe mal was von MarcoExel4 oder so ählich gelesen. Dann muss man
wohl die Datei nicht explizit öffnen. Kann mir da jemand einen code oder
einen linkt nennen.

Vielen Dank

--
Best regards
CK

Alexander Wolff

unread,
Feb 4, 2008, 8:55:28 AM2/4/08
to
Die Tastatur von Clarckkent wurde wie folgt gedrückt:

> Also, ich dachte, das Indirekt zwar nicht mit geschlossenen Dateien
> funktioniert ABER doch Summenprodukt. Also heißt es im Grunde, das
> man mit Summenprodukt eine dynamischen Bereich ansprechen kann.
> Richtig?

Ja, aber das nützt Dir nix, wenn dessen Datei nicht geöffnet ist.

> Frage: Ich habe mal was von MarcoExel4 oder so ählich gelesen. Dann
> muss man wohl die Datei nicht explizit öffnen. Kann mir da jemand
> einen code oder einen linkt nennen.

Du bist hartnäckig. Hier Harlan Groves Pull-Function:

http://groups.google.com/group/microsoft.public.excel.worksheet.functions/browse_thread/thread/97d39b43d92ee819/e249f6c074a3adfd?#e249f6c074a3adfd

Hier Laurent Longré:

http://xcell05.free.fr/morefunc/english/
INDIRECT.EXT ist Dein Baby - Dokumentation anscheinend falsch verlinkt

Wäre schön, wenn Du einen Erfolg (und wie Du ihn erreicht hast) hier
vermelden könntest!

Bernd P

unread,
Feb 4, 2008, 12:19:53 PM2/4/08
to
Hallo,

Nanu? Funktioniert
=summenprodukt(--('C:\Daten\UAS\Artikeldownload
2008-01-21\[BE040-045.xls]BE040-045!$A$1:$A$100=10))
nicht?

Du kannst Dir den Zelleninhalt ggf. mit einem Makro zusammenstellen.

Ohne Öffnen der verlinkten Dateien geht es IMHO sowieso nie, es ist
nur die Frage, welcher Prozess dies durchführt und wie sichtbar es für
den Anwender abläuft... Bei einem Makro könnte man ev. Warnungen und
Rückfragen auch abschalten.

INDIREKT muss man nicht nutzen. Man darf es natürlich, aber ich rate
davon ab.

Viele Grüße,
Bernd


Thomas Ramel

unread,
Feb 4, 2008, 2:17:29 PM2/4/08
to
Grüezi Clarckkent

Clarckkent schrieb am 04.02.2008

> ich möchte eine Summenproduktformel aus einem Textstring bauen.

...dann musst Du diesen mit INDIREKT() zu einem funktionierenden Bezug
umwandeln, was dann aber bedingt, dass die verknüpfte Mappe geöffnet ist.

> Der unten gezeigte String ist zusammengebaut.
>
> A1: 'C:\Daten\UAS\Artikeldownload
> 2008-01-21\[BE040-045.xls]BE040-045!$A$1:$A$100
>
> =summenprodukt((A1=10)*1)
>
> Die formel soll mir aus dem Dokument:
> Pfad: siehe oben, Datei: BE040-045.xls, Blatt BE040-045, Bereich: A1:A100
> die Anzahl der Werte von 10 aufsummieren. Also, wie oft kommt die 10 in der
> Spalte A1:A100 vor?
>
> Ich bekomme immer 0 angezeigt. Es stehen aber definitiv richtige Werte (10)
> in der Spalte A1:A100.
>
> Ich vermute, das der Aufbau des Pfad-Stringen nicht korrekt ist (A1).

Doch, aber keine Funktion kann einen als String zusammengebauten Bezug zu
einem funktionierenden Bezug umwandeln (ausser eben INDIREKT() mit der
bekannten Bedingung der geäffneten Mappe).

Du kannst daher nur per VBA die als String zusammengebauten Bezüge in echt
umwandeln. Eine Möglichkeit wie das geht (Suchen/Ersetzen mit
Zwischenspeichern des aktuellen Pfades) findest du in der folgenden
Demo-Mappe:

http://users.quick-line.ch/ramel/Demo-Daten/Indirekt_per_VBA.xls


Mit freundlichen Grüssen
Thomas Ramel

--
- MVP für Microsoft-Excel -
[Win XP Pro SP-2 / xl2003 SP-2]
Microsoft Excel - Die ExpertenTipps

0 new messages