Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
892to896
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
892to896
892to896
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Verketten mit Zahlen (vieleicht auch wenn?)

Verketten mit Zahlen (vieleicht auch wenn?)
10.08.2007 17:12:00
Lemmi
Hallo zusammen,
ich habe da so ein, so hoffe ich, ein kleines Problem. Ich möchte vier Zellen nach Inhalten abfragen.
Wenn keine Zelle einen Inhalt hat ist auch keine Zahl in dem Ausgabe- Feld zu sehen.
Wenn eine oder mehrere Zahlen vorhanden sind werden alle aufgeführten Zahlen auch ausgegeben.
All dies habe ich mit Funktion Verketten ganz gut hinbekommen.
aber......
Ich möchte die Zahlen mit einem Kommer (,) untereinander trennen so, dass eine Aufzählung ensteht.
Es werden aber schon alle Kommers ausgegeben wenn ich nur eine Zahl eingetragen habe.
Schaut einfach in die Datei...https://www.herber.de/bbs/user/44950.xls
Also wie schaffe ich es, ab der zweiten Zahl ein Kommer einzufügen?
Gruß
Lemmi

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Verketten mit Zahlen (vieleicht auch wenn?)
10.08.2007 17:15:00
Hajo_Zi
Hallo Lemmi,
ich kann die Datei nicht runterladen.

AW: Verketten mit Zahlen (vieleicht auch wenn?)
10.08.2007 17:37:35
Hajo_Zi
Hallo Lammi,
mein zweiter Beitrag ist wohl verloren gegangen.
Tabelle1

 E
5(01, 01, 01, 01)

Formeln der Tabelle
ZelleFormel
E5=WENN(A5+B5+C5+D5>0;VERKETTEN("(";TEXT(A5;"00"); ", ";TEXT(B5;"00"); ", ";TEXT(C5;"00"); ", ";TEXT(D5;"00"); ")"); "")


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
Gruß Hajo

Anzeige
AW: Verketten mit Zahlen (vieleicht auch wenn?)
10.08.2007 17:27:00
ingoG
Hallo Lemmi
meinst Du so?
=a1&wenn(a2"";","&a2;"")&wenn(a3"";","&a3;"")&wenn(a4"";","&a4;"")
Gruß Ingo
PS eine Rückmeldung wäre nett...

AW: Verketten mit Zahlen (vieleicht auch wenn?)
10.08.2007 17:32:00
Renee
Mazwara Lemmi,
1. Formatiere die Zellen mit Text und schreibe statt nur 1, 01 in die Zellen.
2. Dann in Zelle E10 diese Formel:
="("&A10&WENN(A10="";"";",")&B10&WENN(B10="";"";",")&C10&WENN(C10="";"";",")&D10&")"


runterkopieren und schönes Wochenende...
Greetz Renee

AW: Verketten mit Zahlen (vieleicht auch wenn?)
10.08.2007 21:47:48
Lemmi
Hallo zusammen,
vielen Dank für Eure Mithilfe , ihr habt mir die richtige Richtung Vorgegeben!
Ich habe irgendwie alle Formeln zusammen geschrieben und bin schon ganz zufreiden!
Eine Kleinigkeit habe ich aber noch :
Wenn nur eine Zahl an x beliebiger Stelle seht soll das Kommer nicht mit angezeigt werden!
Vielleicht habt Ihr noch eine Idee wie die Formel vereinfacht werden kann?
Eintrag in E5:
=WENN(A27+B27+C27+D27>0;"("&WENN(A27>0;TEXT(A27;"00")&WENN(A27="";"";",");"")&WENN(B27>0; TEXT(B27;"00")&WENN(B27="";"";",");"")&WENN(C27>0;TEXT(C27;"00")&WENN(C27="";"";",");"") &WENN(D27>0;TEXT(D27;"00")&WENN(D27="";"";"");"")&")";"")
Gruß
Lemmi

Anzeige
AW: Verketten mit Zahlen (vieleicht auch wenn?)
10.08.2007 22:57:00
Renee
Hi Lemmi,
Damit auch noch das letzte Komma! verschwindet:

=WECHSELN(WECHSELN(WECHSELN("("&A10&WENN(A10="";"";",")&B10&WENN(B10="";"";",")&C10&WENN(C10="";""; ",")&D10&")";"()";"");",)";")");"(,";"(") 


(Bei Zellen Formatiert als Text)
Greetz Renee

Ich mache das so... ;-)
11.08.2007 03:56:30
Luc:-?

 ABCDEF
112 205 6

12, 20, 5, 6 =ChainOn(A1:F1;", ")
Gruß Luc :-?

Anzeige
Typisch...
11.08.2007 13:06:00
Ramses
Hallo
Lässt du uns an deiner UDF teilhaben :-(
Gruss Rainer

Das geht leider nicht,...
12.08.2007 05:21:00
Luc:-?
...Ramses,
weil die noch nicht optimiert ist. Ich habe z.Z. noch zu viel mit meinem PgmPaket zu tun (mind 40 Fktt inkl Hilfe und Anwendungsbspp) und deshalb keine Zeit für eine abgerüstete Variante. Deshalb auch mit ;-) !
Also eher untypisch für mich, aber frau hat mich vergnatzt... ;-)
Schönes WE!
Luc :-?

AW: Typisch...
12.08.2007 11:54:00
Renee
Hallo Zusammen,
UDF .... gute Idee. Anstatt 10 Minute zu palavern (...gilt nicht für mit R-beginnende und auf nicht-C-endende Vornamen) , könnte man auch in 5 Minuten eine schreiben.Was frau/man allerdings an so einer UDF noch viel optimieren kann, würde mich brennend interessieren.

Public Function chainIT(rCellRange As Range, _
Optional sSeparator As String = ",", _
Optional sFormat As String = "@", _
Optional sPreFix As String = "", _
Optional sPostFix As String = "") As String
' Parameter-Beschreibung:
' 1. Ein Zellenbereich
' 2. Trennzeichen (Default = Komma)
' 3. Optionale Formatierung (z.B. "000" für Zahlen)
' 4.+5. Optionale Pre- und Postfix (z.B. Klammern "(";")")
Dim rCell As Range
chainIT = ""
For Each rCell In rCellRange
If rCell.Value  "" Then chainIT = chainIT & Format(rCell, sFormat) & sSeparator
Next
If Len(chainIT) > 0 Then chainIT = sPreFix & Left(chainIT, Len(chainIT) - 1) & sPostFix
End Function


Greetz Renee
Am Rande: "Deine Feinde sind Freunde, die du noch nicht kennst." - Andreas Tenzer

Anzeige
Inzwischen ist mir eingefallen,...
13.08.2007 04:28:48
Luc:-?
...Ramses,
dass ich zu einem ähnlichen Problem hier schon mal was gepostet hatte. Allerdings war das mit der Erweiterung von VERKETTEN damals nur eine aus der Aufgabe entstandene Idee, die ich zwischenzeitlich verwirklicht hatte. Da es sich hierbei aber nicht um eine udF handelt, war es noch nicht in meine reguläre Sammlung eingegangen. Aber ich habe es mal rausgesucht. Es wdn eine Eventproc im jeweiligen TabBlatt und eine Subroutine in einem Standardmodul benötigt:

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Cells.Count = 1 Then
If Target.HasArray And InStr(Target.Formula, "CONCATENATE(") > 0 Then
Call Concate(Target)
End If
End If
End Sub
Sub Concate(ByRef FZelle As Range)
Dim fma As Integer, klo As Integer, kls As Integer, klt As Integer, _
x As Range, Ber As Variant, y As Variant, z As Variant, TrZ As Variant, _
far As String, fml As String, fop As String, sar As String, tzx As Boolean
On Error Resume Next
Application.EnableEvents = False
fma = InStr(FZelle.Formula, "CONCATENATE(")
kls = InStr(fma + 12, FZelle.Formula, ")")
klo = InStr(fma + 12, Left(FZelle.Formula, kls), "(")
klt = InStr(fma + 12, Left(FZelle.Formula, IIf(klo = 0, kls, klo)), ",")
tzx = (klt > 0)
Do While klo > 0    'And klo  0 And klt  "" Then TrZ = Evaluate("=" & fop) Else TrZ = ""
If Not IsArray(TrZ) Then
If IsArray(Ber) Then
Set x = Range(far)
If x Is Nothing Then
For Each z In Ber
If FZelle.NumberFormat = "General" Then
z = Format(z, "General Number")
Else: z = Format(z, FZelle.NumberFormat)
End If
y = IIf(IsEmpty(y), z, y & TrZ & z)
Next z
GoTo fz
End If
va:         If Range(far).Count = 1 Then GoTo ex
For Each x In Range(far)
If x.NumberFormat = "General" Then
z = Format(x.Value, "General Number")
Else: z = Format(x.Value, x.NumberFormat)
End If
y = IIf(IsEmpty(y), z, y & TrZ & z)
Next x
GoTo fz
ElseIf InStr(far, "{") And InStr(far, "}") Then
sar = Mid(far, InStr(far, "{"), InStr(far, "}") - InStr(far, "{") + 1)
For Each z In Evaluate(sar)
y = IIf(IsEmpty(y), "", y & TrZ) & Evaluate(Replace(far, sar, z))
Next z
fz:         With FZelle
.Formula = Replace(.Formula, fml, """" & y & """")
End With
End If
End If
ex: Set FZelle = Nothing: Set x = Nothing
Application.EnableEvents = True
End Sub


Die Formel muss als Matrixformel angegeben wdn und bleibt nur teilweise erhalten. VERKETTEN und alle Fktt innerhalb davon wdn durch das Ergebnis ersetzt.

 ABCDEFGH
1 5 83 2 

Ergebnis: 5,8,3,2
ursprüngliche Formel: {=wechseln(wechseln(verketten(wenn(A1:H1="";"#";A1:H1);",");"#,";"");",#";"")}
verbleibende Formel: =WECHSELN(WECHSELN("#,5,#,8,3,#,2,#";"#,";"");",#";"")
Da ich danach strebe, möglichst wenige Insellösungen, sondern eher universelle zu produzieren, ist die von dir hinterfragte udF und leider auch ihre Erweiterung ListOn durch den Einsatz einer Universal-udF "verseucht", die mehrere Seiten Code umfasst. Das muss ich unbedingt noch mal ändern.
Gruß Luc :-?

Anzeige
...und hier noch ein umfangreicheres Bsp...
14.08.2007 04:22:00
Luc:-?
...dazu...
Userbild
Gruß Luc :-?
PS: Das 2.Bsp wurde mit der im anderen Beitrag erwähnten Universal-udF (ListOp) sortiert.

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige