Hallo, so würde es funktionieren:

=SVERWEIS($J$2;Tabelle3[#Alle];SPALTE(Tabelle3[[#Kopfzeilen];[Firma]]);FALSCH)

...zur Antwort

Hallo, ich glaube, dass ich dein Beispiel richtig nachgestellt habe:

Bild zum Beitrag

Du musst wohl in B19 den Wert von C19 übernehmen oder in C18 den Wert von B18.

...zur Antwort
Excel-Code für Mehrfachauswahl in Dropdown-Listen?

Hallo zusammen,

Ich versuche gerade ein Excel-Dokument zu erstellen, bei dem eine Mehrfachauswahl aus Dropdown-Listen möglich ist. Das heißt aus einer Liste sollte es möglich sein mehrere Werte anzuwählen. Das habe ich auch mit dem untenstehenden VisualBasic-Code gemeistert. Allerdings habe ich erstens das Problem, dass auch eine Mehrfachauswahl des immer gleichen Wertes möglich ist. Theoretisch könnte also in einer Zelle x-mal derselbe Werte auftauchen. Dies soll natürlich nicht möglich sein. Bei Doppelauswahl desselben Wertes soll dieser aus der Zelle wieder verschwinden.

Mein zweites Problem ist, dass ich bislang nur 2 zwei Dropdown-Listen mit Mehrfachauswahl eingefügt bekomme. Sobald ich eine dritte Spalte versuche zu implementieren, bekomme ich eine Fehlermeldung für meinen Code.

Dadurch, dass ich mich mit dem Ganzen nicht so wirklich auskenne, wäre es sehr nett, wenn mir jemand helfen könnte.

Danke!

 

Bisheriger Code:

 

Private Sub Worksheet_Change(ByVal Target As Range)

** Mehrfachauswahl über DropDown-Liste

'** Einfügen im Code-Container des betreffenden Arbeitsblattes

 

'** Dimensionierung der Variablen

Dim rngDV As Range

Dim wert_old As String

Dim wertnew As String

 

'** Errorhandling

On Error GoTo Errorhandling

 

'** Mehrfachauswahl im definierten Bereich "Abteilungen" und "Themen" (Bsp. J2:J2000, I2:I2000) durchführen

If Not Application.Intersect(Target, Range("J2:J2000", "I2:I2000")) Is Nothing Then

 

 '**Range definieren

 Set rngDV = Target.SpecialCells(xlCellTypeAllValidation)

 If rngDV Is Nothing Then GoTo Errorhandling

  

 '** Prüfen, ob eine gültige Zelle ausgewählt wurde und Werte eintragen

 If Not Application.Intersect(Target, rngDV) Is Nothing Then

   Application.EnableEvents = False

   wertnew = Target.Value

   Application.Undo

   wertold = Target.Value

   Target.Value = wertnew

   If wertold <> "" Then

     If wertnew <> "" Then

       Target.Value = wertold & ", " & wertnew

     End If

   End If

 End If

 Application.EnableEvents = True

End If

 

Errorhandling:

Application.EnableEvents = True

End Sub

...zur Frage

Hallo, kannst noch bitte beschreiben, was mit den ausgewählten Werten weiter passieren soll?
Vielleicht ist dieser Ansatz ja einfacher:
Entwicklertools/Einfügen/Kontrollkästchen

Bild zum Beitrag

Deren Name ist natürlich frei definierbar und in der zugeordneten Zellverknüpfung wird der Inhalt auf WAHR oder FALSCH gestellt.

Mehrfachauswahl im Sinne von Filter geht nicht?

...zur Antwort

Hallo, um sicher zu gehen wandle die Daten in Werte um:

Wenn 335 > 980 Dann XY Sonst YZ
=WENN(WERT(A1)>WERT(B1) ;"XY";"YZ")

...zur Antwort

Du hast recht, das ist schwer zu finden.
Klicke mit der rechten Maustaste auf die X-Achse (auf deine Städte) und klicke "Hauptgitternetz hinzufügen", die senkrechten Linien kannst du dann auch formatieren, ich habe sie 5 pt. dick und grün gemacht.

Bild zum Beitrag

...zur Antwort

Hallo, ich zeichne mal ein Beispiel:
Reihe die Automarken nach deiner Sympathie.

Die Rohdaten hast du so ähnlich, wie im grünen Bereich.
So oft wurden die Plätze pro Antwort vergeben.

Es bleibt dir selbst überlassen, ob du noch eine Gewichtung einbaust, oder (wie ich in Zeile 3) für den 1. Rang 12 Punkte, für den 2. Rang 11 Punkte, usw. vergibst.

Bild zum Beitrag

Die Formel in N4 rechnet die Punkte pro Automarke aus:
=SUMMENPRODUKT(B$3:M$3;B4:M4)

Die Formel in O4 berechnet den Rang pro Automarke, es wird noch 1/1000 der Zeilennummer addiert, damit mehrere gleichrangige in den nachfolgenden Rechnungen unterschieden werden können:
=RANG(N4;$N$4:$N$15)+ZEILE()/1000

Die Formel in P4 reiht das Ergebnis der Ränge:
=KGRÖSSTE($O$4:$O$15;ZEILE(P1))

Die Formel in Q4 stellt die dazugehörige Marke daneben:
=INDEX(A:A;VERGLEICH(P4;O:O;0))

Die Formel in R4 stellt die dazugehörigen Punkte daneben:
=INDEX(N:N;VERGLEICH(Q4;A:A;0))

Die Formeln in N4:R4 lassen sich bis Zeile 15 runterkopieren.

Über Q3:R15 kannst du eine nette Grafik erstellen

...zur Antwort

Hallo, eine Pivot-Tabelle ist ja die Zusammenfassung irgendwelcher Rohdaten.
Was nicht geht, eine neue Pivot-Tabelle mit alten Daten anzureichern,
Versuche die alten Rohdaten ins neue Format zu bringen.

Die häufigste Tücke des SVERWEIS ist, dass ei einen Unterschied zwischen Text und Zahl macht, das ist z.B. nicht das selbe:

Bild zum Beitrag

...zur Antwort

Hallo ich habe eine Function VBA, die diese Ergebnisse liefert:

Bild zum Beitrag

hier der Code:

Function PRIMZAHL(rngZelle As Range) As Boolean

On Error Resume Next

  If rngZelle.Value < 2 Then PRIMZAHL = False: GoTo aus 'zu klein

  If Int(rngZelle.Value) <> rngZelle.Value Then PRIMZAHL = False: GoTo aus 'Dezimalstellen

  For i = 2 To rngZelle.Value ^ 0.5

    If rngZelle.Value Mod i = 0 Then PRIMZAHL = False: GoTo aus

  Next i

  PRIMZAHL = True

aus:

End Function

...zur Antwort

Hallo, ich würde dir für diesen Zweck die Pivot-Tabelle empfehlen.
Anfangs musst du dich ein bisschen einlesen, es zahlt sich aber aus.

So etwas hast du mit ein paar Klicks erstellt (ab Spalte E ist es die Pivot-Tabelle):

Bild zum Beitrag

...zur Antwort

Hallo, ich habe was nettes entwickelt.
Dazu müsstest du dir aber einmalig die Mühe machen und die PLZ-Bereiche einzeln darstellen, z.B. 44 - 46 Gelsenkirchen löschen und 3 Zeilen daraus machen:

Bild zum Beitrag

Dann brauche ich 2 Hilfsspalten vorgelagert:

Bild zum Beitrag

In der Spalte A werden nur die linken 2 Stellen herausgelöst mit Formel in A10
=LINKS(D10;2)

Zelle B10 ist schon trickreicher, die nummeriert alle gleichen PLZs durch:
=A10+ZÄHLENWENN(A$9:A10;A10)/1000
A10 und B10 nach unten kopieren

Das beste kommt jetzt, ich habe es wegen der besseren Übersichtlichkeit auf derselben Tabelle gemacht:

Bild zum Beitrag

In L4 wird der erste Preis der betreffenden PLZ geholt und mit Nachkommastellen indiziert (falls es mehrere gleiche Preise gibt):
=WENNFEHLER(SVERWEIS(LINKS($G4;2)+RECHTS(U$3;1)/1000;$B:$E;4;0)+RECHTS(L$3;1)/100;"")
Diese Formel nach rechts (ich habe max. 9 Treffer vorgesehen) und nach unten kopieren.

In U4 wird geschaut, welcher Spediteur der billigste ist, der 2.billigste usw.:
=WENNFEHLER(SVERWEIS(LINKS($G5;2)+VERGLEICH(KKLEINSTE($L5:$T5;RECHTS(U$3;1));$L5:$T5;0)/1000;$B:$E;2;0);"")
Diese Formel wieder 8 x nach rechts und nach unten kopieren.

Zum Schluss noch die Gültigkeit so definieren, wichtig ist, dass die Quelle ohne $-Zeichen eingegeben wird:

Bild zum Beitrag

Das heißt, die Liste im Dropdown zeigt alle Spediteure, die für die entsprechende PLZ in Frage kommen, mit aufsteigender Preisreihenfolge.

...zur Antwort

Hallo, das Kästchen findest du in den Entwicklertools

Bild zum Beitrag

Mit Rechtsklick kannst du das Steuerelement formatieren und unter Steuerung eine Zellverknüpfung definieren. In meinem Beispiel (C3) steht dann WAHR oder FALSCH in Abhängigkeit des Hakens.

Bild zum Beitrag

Der Rest ist dann relativ einfach, in B3 habe ich es so gemacht:
=WENN(C3;10;"") .

In den Einstellungen kannst du übrigens auch festlegen, ob die Checkbox (samt Beschriftung) ausgedruckt werden soll.

...zur Antwort

Hallo, du meinst, dass alles in einer Zelle steht?
Dann versuche das:

Bild zum Beitrag

Die Formel in B4 lautet:
=WENNFEHLER(TEIL($A4;SUCHEN(" "&B$1&" ";$A4)+4;B$2);"")
Diese kannst du beliebig weit nach unten und nach rechts unten kopieren.

Wenn ausländische Adressen dabei sind, kannst du die Tabelle für jedes Land um eine Spalte erweitern, wie mein Beispiel Österreich in Spalte C. Am Ende verkettest du die Ergebnisse.

...zur Antwort

Du must das Datum in einen Text umwandeln, etwa so:

Bild zum Beitrag

...zur Antwort

Wenn du Zellen schützt, sind die auch vor dem Zugriff der Makros geschützt.
Am Beginn der Prozedur: ActiveSheet.Unprotect Password:="Hallo"
Am Ende ActiveSheet.Protect Password:="Hallo"

...zur Antwort

Hallo, wenn du direkt unter den Überschriften die Summen bildest, beides markierst und auf Einfügen, Kreisdiagramm gehst, macht Excel das automatisch: Bild zum Beitrag

Ich würde dir aber empfehlen, NICHT Eingaben und ausgaben zu mischen, dann sagt das Diagramm nichts aus.

...zur Antwort

Hallo, Diagramme können nur Zahlen darstellen. "3,36 cm³" ist keine Zahl.
Also entferne die Einheiten, dann kommst weiter. Wenn die Tabelle Einheiten anzeigen soll, musst du diese Benutzerdefiniert formatieren:

Bild zum Beitrag

...zur Antwort

Hallo, wenn ich richtig verstanden habe, ist gibt es für jedes Bett eine Tabelle die entsprechend benannt ist.
Wieso taufst du dann nicht einfach die Tabelle um, wenn ein Patient umzieht?

z.B. Patient zieht von 15 auf das leere Bett 20 um.

  1. Bett 20 löschen
  2. Bett 15 auf Bett 20 umtaufen
  3. Leere Bettvorlage kopieren und mit Bett 20 taufen

oder Patient in Bett 16 tauscht mit Patient in Bett 22

  1. Bett 16 umtaufen auf Ausweichbett
  2. Bett 22 umtaufen auf Bett 16
  3. Ausweichbett umtaufen auf Bett 22
...zur Antwort

Hallo, ich würde es so lösen:

Ich habe 6 Hilfsspalten ergänzt, die feststellen, wo die Werte gleich sind
Zelle I4: =ABS(C4-D4)
Zelle J4: =ABS(D4-E4)
Zelle K4: =ABS(E4-C4)
In F2 wird die Zeile mit der kleinsten Abweichung ermittelt:
=VERGLEICH(KKLEINSTE(I4:I101;1);I:I;0)
bis H2 nach rechts kopieren

In Zelle F4 wird der Wert ausgegeben, der jeweils kleinste Abweichung hat, anderenfalls ein #NV (damit die Beschriftung unterdrückt wird)
=WENN(ZEILE()=F$2;C4;#NV)
nach rechts bis H4 und nach unten bis ans Ende der Daten kopieren.

B4 bis H100 ist dann der Datenbereich für das Diagramm. Mit den Datenreihen-Formatierungen kannst du die Linien wegmachen, dafür die Schnittpunkte mit Markierungen hervorheben, und die Datenbeschriftung wie gewünscht formatieren:

Bild zum Beitrag

...zur Antwort

In weiterer Folge habe ich ein paar Stolpersteine entdeckt und bin zu dieser Detaillösung gekommen:
Im roten Bereich werden die Verkäufe je Kunde eingetragen.
Im grünen Bereich werden die Verkäufe verkettet.
Im blauen Bereich findet die Summierung statt.

Bild zum Beitrag

Mein Trick mit dem WECHSELN ("M" durch "" ersetzen) funktioniert bei den mehrstelligen Größen nicht gut, weil L in XL und XXL auch enthalten ist. Es macht sich bezahlt, die mehrstelligen Größen zuerst durch einstellige zu ersetzen. XS>>K, XXL>>Y, XL>>X.
Das mache ich in K13 so, und runterkopieren: =WECHSELN(WECHSELN(WECHSELN(GROSS(D13&E13&F13&G13&H13&I13);"XXL";"Y");"XL";"X");"XS";"K")

C13 zählt dann alle Artikeln eines Kunden so, und runterkopieren:
=LÄNGE(K13)-LÄNGE(WECHSELN(WECHSELN(WECHSELN(WECHSELN(WECHSELN(WECHSELN(K13;"K";"");"S";"");"M";"");"L";"");"X";"");"Y";""))

In L13 verkette ich die Artikeln pro Kleidungstyp so:
=WECHSELN(WECHSELN(WECHSELN(D13;"XXL";"Y");"XL";"X");"XS";"K")&L14
nach unten und nach rechts kopieren.

Schließlich zähle ich in D4 die Größe "XS" (jetzt "K") der Kleidung1 so:
=LÄNGE(L$13)-LÄNGE(WECHSELN(GROSS(L$13);$B4;""))
Diese Formel nach rechts und nach unten kopieren.

Die Zeilen-/Summensummen sind dann einfach und brauchen keinen weiteren Kommentar.

...zur Antwort

Vielleicht ist dein Denkfehler derselbe wie in deiner Frage:
zuerst sprichst du von x und y, dann von x und o?

Wenn du auf Bedingte Formatierung/Regeln verwalten gehst, siehst du wie es funktioniert:

Bild zum Beitrag

...zur Antwort