Die zweitkleinste Zahl aus einem beliebigem Set von Zahlen

Ich brauche die zweitkleinste Zahl aus einem beliebigem Set.
Beispieltabelle:

 A 1.1 | A 1.2 | B 1 | A 2.1 | A 2.2 | B 2 | A 3.1 | A 3.2 | B3 
-------+-------+-----+-------+-------+-----+-------+-------+-----
   2   |   3   |  5  |   1   |   0   |  1  |   3   |   6   |  9

In dem obigen Beispiel gibt die Aufgaben 1.1, 1.2, 2.1, 2.2, 3.1, 3.2. Sind jeweils zwei Zahlen zu einem Block (B1, B2, B3) zusammengefasst. Mich Interessiert jetzt, wie viele Punkte in dem zweitschwächsten Block vorhanden sind. (Solche lustigen Hacks wie die Summe berechnen, und das Minimum und das Maximum abziehen klappen nicht, weil in meinem Beispiel mehr als 3 Blöcke vorhanden sind).

Nun war mein Gedanke “KKLEINSTE”, also folgendes Geschrieben:

KKLEINSTE({J2;N2;O2;V2};2)

Das wurde dann von libreoffice auf

KKLEINSTE({J2;N2;O2;V2})

Verbessert und mit

Error 512

qittiert.
Das hat mich etwas verwundert, weil

KKLEINSTE({1,2,3};2)

funktioniert, und mit die erwartete 2 zurück gibt. Was mache ich also falsch?

Felder oder Vektoren (arrays), die als Sequenz durch Aufzählung gegeben werden (Inline aarrays), sind in Calc auf Konstanten als Elemente beschränkt (OpenFormula 1.2 Subkapitel 5.13).

Für das konkrete Anliegen ist die angedeutete Anordung der eingegebenen Daten sehr schlecht geeignet.
Der Funktion SMALL() muss man für die Daten einen zusammenhängenden Zellbereich geben.
Um derartige statistische Funktionen auf zersplitterte Daten anzuwenden, muss man reichlich Umstände inkauf nehmen.
Das angehängte Beispiel zeigt, wie ich meine, dass es besser geht.

SMALL / KKLEINSTE versteht eine Bereichsliste (range list, ~ “union” operator), das hier sollte gehen: KKLEINSTE(J2~N2~O2~V2;2)