Wir wünschen allen Forenteilnehmern ein frohes Fest und einen guten Rutsch ins neue Jahr. x

Freitag, der 13. [Excel 365, 2021, Online]
#51
Ja, vor allem mit den 3 längsten Intervallen, die anscheinend nie nötig waren. Welchen Fehler ich damals gemacht habe? Da laufe ich wohl nicht mehr hinterher ...
WIN/MSO schicken angeblich alle 5 Sekunden Deinen Screen heim zu Papa (recall-Klausel). 
Antworten Top
#52
Moin, 19 

habe hier noch eine Kleinigkeit in Power Query: 21
[attachment=52144]


Mit Auswahl Tag, Monat (oder mal sehen, wie oft dein Geburtstag hätte sein können). Angel
Antworten Top
#53
Hallo Case,

diese Art der PQ-M-Schreibweise ist aus meiner Sicht nicht zielführend:
- für den PQ-Neueinsteiger eine blanke Katastrophe
- für den erfahrenen PQ-Nutzer sehr kompliziert in der Nachverfolgung der Einzelschritte
- kein Rückgriff auf bereits vorhandene PQ-Schritte möglich

- z.B.: Excel.CurrentWorkbook(){[Name="StartEnde"]}[Content] muß 3x ausgeführt werden
- von der Nutzung interner Funktionen sehe ich da keine Möglichkeit
- die Objekte 'List' und 'Record' müssen immer wieder in 1 Tabelle überführt werden
- da frag ich mich schon -  was soll das!
- funktionale Programmierung sieht anders aus

Hier mal mein PQ-M-Code, aufbauend auf Deine Demodatei:
Code:
let
    a_01 = Excel.CurrentWorkbook(){[Name="StartEnde"]}[Content][Column1],
    a_02 = Date.Year(a_01{0}),
    a_03 = Date.Year(a_01{1}),
    a_04 = List.Accumulate(
        {a_02 .. a_03},
        {},
        (st, cur) => st & {
            let b_01 = Date.From(Text.From(a_01{3})&"."&Text.From(a_01{4})&"."&Text.From(cur)),
                b_02 = if Date.DayOfWeekName(b_01,"de-DE") = a_01{2}
                       then b_01
                       else null
               
            in b_02}) ,
    a_05 = List.RemoveNulls(a_04),
    a_06 = Table.FromList(a_05, Splitter.SplitByNothing(), null, null, ExtraValues.Error),
    a_07 = Table.RenameColumns(a_06,{{"Column1", "Bestimmter Tag / Monat"}}),
    a_08 = Table.TransformColumnTypes(a_07,{{"Bestimmter Tag / Monat", type date}}) 
               
in
    a_08

Das ist zwar auch kein Einsteiger-Modell für PQ-M, aber bis auf List.Accumulate() wenigstens nachvollziehbar.
Ich kenne inzwischen 5 Nick-Namen, die den PQ-M-Code als 3-Zeiler präsentieren, doch wem ist damit geholfen?

fragt sich Luschi
aus klein-Paris
[-] Folgende(r) 1 Nutzer sagt Danke an Luschi für diesen Beitrag:
  • ws-53
Antworten Top
#54
Hi Luschi,

Ein Pfarrer würde wohl von verirrten Seelen sprechen. Aber spätestens wenn wegen nicht erwarteter Ergebnisse diese getestet, oder Erweiterungen anstehen, müssten diese feststellen, dass sie sich auf dem Holzweg befinden.
Antworten Top
#55
Eine weitere Möglichkeit Freitag den 13. per Formel zu berechnen:

exceltricks.blog/excel-tipps-und-tricks-mit-dieser-formel-koennen-sie-das-datum-ermitteln-wann-der-naechste-freitag-der-13-ist

Ist aber nicht so schnell, wie Lupos Formel.
Antworten Top
#56
Hallo WS-53,

die dort angegebene Formel kann man noch etwas schneller machen, indem man nicht die Tage vergleicht, sondern die Wochen:
Code:
=(AGGREGAT(15;6;ZEILE($A$1:$A$100)/(TAG(HEUTE()+6-REST(HEUTE();7)+(ZEILE($A$1:$A$100)-1)*7)=13);1)-1)*7+HEUTE()+6-REST(HEUTE();7)
Weiterer Vorteil: Man kann auch die folgenden Freitage, den 13. ermitteln, indem man den letzten Parameter bei Aggregat anpasst.
Gruß
Michael
Antworten Top
#57
PHP-Code:
=TODAY()+MATCH(1;(DAY(TODAY()+ROW(1:100))=13)*(WEEKDAY(TODAY()+ROW(1:100))=6);0
oder ?
PHP-Code:
=CEILING(TODAY();6)+7*MATCH(1;--(DAY(CEILING(TODAY();6)+7*ROW(1:100))=13);0
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 3 Gast/Gäste