Excel keresőfüggvény

Csökmei István Péter csip at eoe.bmk.hu
2012. Már. 28., Sze, 05:46:14 CEST


> =csillagjegy(A1)
>
> Ez szerintem elegáns!
-nak is lenne nevezhető, ha az implementációban nem egy rakat else if -el oldottad volna meg, és gondoltál volna a hibás inputra is. pl. Mit csinál 
akkor a függvényed, ha a "cseresznye" értékre hívják meg?

1. A nap értékét én egy Try ... Catch ... End Try szerkezetben alakítottam volna át.

2. Ez a feladat az esetkiválasztás tipikus esete, ezért sokkal elegánsabb lett volna egy
Select Case nap
     Case 1 to 20
           csillagjegy = "Bak"
     Case 21 to 50
           csillagjegy = "Vízöntő"
     Case ...
      ...
      ...
      ...
     Case Else
          csillagjegy = "#HIBA"
End Select

3. Az egész úgy ahogy van ágyúval verébre. (az 1. és 2. pontok csak az eleganciáról szólnak)



> Az én megoldásom is egy dátumhoz keresi meg a csillagjegyet, így
> nyugodtan nevezhetjük keresőfüggvénynek.
> A feladat "specifikációban"  nem volt szó "beépített", alias "gyári"
> függvényről.
A te megoldásod nem keres semmit. A te megoldásod egy adott változó értékét néhány esetre megvizsgálja.
Én is jártam már a Parlamentben és szoktam jókat vitatkozni, érvelni, mégsem vagyok politikus (nem is akarok az lenni). Sem gyárilag, sem egyébként.

> Apropó valaki megoldotta csak beépített keresőfüggvény használatával?
> :-) (ÉV, HÓNAP, NAP, stb. függvények nélkül)
Hmmm. DatePart ???? (nálad a második sorban :-) )
> Ha az algoritmizálás Neked "Bohóckodás" ....
>
Nem, nem az. De az ilyen Durrbele Balázs módszert elegánsnak nevezni kicsit erős.
A táblázatkezelőben a 3-nál több if egymásba ágyazása pedig az élveboncolás minősített esete. Nem beszélve arról, hogy ha nem használsz 
keresőfüggvényt, akkor a megoldás rossz. Még akkor is, ha a kapott eredmény egyébként jó. Ebben az esetben azzal egyenértékű mintha pl. az E2:E8 (vagy 
akárhol, akárhány) cellák értékeinek összegét valaki SUM helyett az =E2+E3+...+E8 módszerrel számolná, vagy (ami még rosszabb) zsebszámológéppel 
kiszámolná és beírná az E9-be.

CsIP


További információk a(z) Techinfo levelezőlistáról