Problema formula filtro

Sto tentando di migrare dei fogli che usavo con Excel e Google Sheets in libreoffice ma ho un problema con la formula FILTRO.
Ho creato un foglio per gestire preventivi ai clienti; in un foglio ho inserito le intestazioni identificate da un valore ID, in un altro foglio ho una tabella con le righe del preventivo; in un terzo foglio voglio che, inserendo un ID in una cella, mi si compili con la intestazione e le righe del preventivo in modo che sia stampabile.
Non ho avuto problemi in Excel e Google ma con Libreoffice non ne vengo fuori con la funziona FILTRO.
Le righe degli articoli sono varie e, per ogni intestazione diverse: ho quindi aggiunto la formula =FILTRO($prevRighe.C:C;$prevRighe.A:A=M1;"(non trovato)") in modo che cerchi in C:C tutte le righe che hanno in A:A il valore in M1 solo che la prima volta che inserisco un ID, per esempio, mi trova tre righe; se cambio ID per un preventivo che dovrebbe avere 5 righe mi mostgrerà invece solo 3 righe, come se al primo utilizzo la formula si autoespandesse per un tot di righe e lì si fermasse.
Se infatti al primo utilizzo deve filtrare 5 righe le filtra, e poi anche 3, ma se deve filtrarne poi 6 non lo fa filtra solo 5 righe.
Ho pensato che probabilmente devo estendere io il campo di attuazione della formula quindi ho selezionato una decina di celle (difficile faccia preventivi più lunghi) e ho scritto la formula cliccando poi SHIFT+CTRL+ENTER per scriverla in tutte le celle: ora funziona, ma nelle celle vuote mi scrive #N/D. Ho modificato la formula inserendo anche se.errore quindi SE.ERRORE(FILTRO($prevRighe.C:C;$prevRighe.A:A=M1;"(non trovato)");"/") ma non funziona.
A parte lo strano comportamento della funzione filtro (in Excel e Google si auto-amplia a seconda dell’ampiezza del risultato del filtro), ma come faccio a non avere #N/D?
Ho aggiunto un file di esempio con tre esempi.
Esempio 1: quando ho scritto la formula in F2 ho scritto “10”, un valore che non c’è nella colonna ID, quindi la formula si è espansa solo in una riga, se si prova a inserire un altro id restituirà sempre solo un valore.
Esempio 2: ho scritto la formula selezionando tre righe e premendo CTRL+SHIFT+ENTER quindi la formula si è espansa in tre righe, ma se metto un id che deve restituire più valori non il risultato sarà sempre solo un massimo di tre valori
Esempio 3: ho inserito la formula in sei righe e inserendo SE. ERRORE, come si vede quando i risultati sono meno di sei l’errore #N/D c’è comunque.
In pratica la formula filtro non si auto espande, si espande solo nel momento in cui la si scrive per il numero di righe necessarie in quel momento e quel range di espansione resta anche in seguito.
Grazie in anticipo a chi mi svela l’arcano

Prova filtro.ods (14.5 KB)

Alternative:
Applicare filtri avanzati

A Base (not Calc) solution: Query in one-to-many relationship

Pare che il “problema” sia generalizzato agli array che devono occupare range differenti a seconda di eventi successivi alla creazione, è presente anche in OpenOffice nel cui forum ho trovato una discussione simile alla mia. Suppongo che la funzione FILTRO sarà migliorata in tal senso, un array che una volta che si crea ha una dimensione fissa in casi come questo è indubbiamente problematico.