Formula kihívás - az Y / N átalakítása a hét napjaira - Kirakós játék

Egy régóta olvasó érdekes problémát küldött nekem az elmúlt héten. A cél az, hogy a hétfõre, szerdára, péntekre olyan szöveges karaktersorozatot kapjunk, mint az "MWF". A probléma az, hogy a hétköznapokat igen / nem rövidítésekként adják meg, például "NYNYNYN" az "MWF" kifejezésre.

Kihívás

Milyen képlet fordítja le az "N" és az "Y" kifejezéseket hétköznapi rövidítésekre, amint az a fenti képernyőképen látható?

A munkafüzet alább található. Tegye meg válaszát a megjegyzésekben.

Plusz pontok a stílusért és az eleganciáért, de a munkáslovas megoldások is rendben vannak :)

Feltételezések

  1. Minden bemenet 7 karakterből áll, és csak "Y" vagy "N" karaktert tartalmaz
  2. A napok feltérképezése vasárnaptól szombatig, SMTWTFS.
Válasz (kattintson a kibontáshoz)

Megoldási lehetőségek - spoilerek!

1. opció - nyers erő összefűzése a MID funkcióval, az olvashatóság érdekében sor törések vannak hozzáadva:

=IF(MID(B5,1,1)="Y","S","")& IF(MID(B5,2,1)="Y","M","")& IF(MID(B5,3,1)="Y","T","")& IF(MID(B5,4,1)="Y","W","")& IF(MID(B5,5,1)="Y","T","")& IF(MID(B5,6,1)="Y","F","")& IF(MID(B5,7,1)="Y","S","")

Ez egy tipikus megoldás lenne, és jól szemlélteti, hogyan működik az összefűzés. Megjegyzés: a képletsávon belül szabadon használhat sortöréseket a képletek könnyebb olvashatósága érdekében.

2. lehetőség - TEXTJOIN és MID funkció:

=TEXTJOIN("",TRUE,IF(MID(B5,(1,2,3,4,5,6,7),1)="N","",("S","M","T","W","T","F","S")))

Ez a megoldás tömbállandókat használ a képlet egyszerűsítéséhez.

Megjegyzés: Jon Wittwer ennek a képletnek egy kifinomultabb változatát tette közzé az alábbi megjegyzésekben, felpörgetve a tömb konstansát a ROW és INDIRECT használatával.

3. lehetőség - TEXTJOIN, MID és REPT:

=TEXTJOIN("",1,REPT(("S","M","T","W","T","F","S"),MID(B5,(1,2,3,4,5,6,7),1)="Y"))

A * kissé * kompaktabb, a REPT-t használó verzió, kihasználva azt a tényt, hogy a MID minden értéknél IGAZ vagy HAMIS értéket ad vissza, a TRUE pedig a REPT belsejében 1-re vagy nullára értékel.

érdekes cikkek...