martedì 15 febbraio 2022

Google Sheets - Somma multiriga o multicolonna con ARRAYFORMULA()

Non l'ho capita ma me la annoto nel blog perché funziona.

Ho una tabella della quale voglio sommare per ogni riga, i valori delle colonne da B a - poniamo - H.
Inoltre li voglio sommare solo se la colonna A non è vuota.
E se aggiungo o rimuovo colonne tra B e H, la formula dovrebbe tenerne conto.

In riga 2 i titoli:

NOME | ORE1 | ORE2 | ORE3 | ... | OREn | TOT-ORE

Mettendo =SOMMA(B3:H3) in riga 3 e trascinandola su ogni riga sottostante è facile. Ma se volessi mettere la formula solo "nel titolo" e non pensarci più? Ci vorrebbe ARRAYFORMULA(), ma non funziona con SOMMA().

Con Google Sheets, la funzione SOMMA() richiede un intervallo o un elenco di celle o intervalli da sommare, ma poi riporta sempre un unico risultato.
Se si usa un intervallo (es. A2:E7), qualora nel foglio vengano aggiunte righe o colonne all'interno dell'intervallo, questo viene esteso automaticamente per comprendere anche quelle (e diventa per esempio A2:E7 o A2:D8),
Se nella formula si elencano solamente le celle o intervalli, Google non può sapere se quando aggiungiamo una colonna o riga nel foglio la vogliamo aggiungerne anche nella formula e non la aggiunge.

SOMMA() non funziona con ARRAYFORMULA() in quanto se scrivo SOMMA(A1:D7) questa espressione ha il significato di sommare tutte le celle dell'intervallo e dar un unico risultato mentre il mio intento era quello di avere un risultato per ogni riga. E se scrivo ARRAYFORMULA(SOMMA(A1:D7)) Google non può capire il mio intento e giustamente continua a darmi un unico risultato.

Cercando, ho trovato su stackoverflow (https://stackoverflow.com/questions/21797621/arrayformula-sum-in-google-spreadsheet) una formula che pare fare al caso mio.
Ho lievemente adattato la formula per verificare che in colonna A ci siano celle con contenuto e quindi mettere un risultato solo su righe valide e non in quelle vuote.
La formula, messa nella riga del titolo (riga 2),  mostrerà "Totale Ore" in riga 2 e sotto elenca le somme delle varie colonne a fianco.
Se aggiungo o tolgo colonne la formula si allarga o restringe da sé.

La formula ARRAYFORMULA() con SOMMA.SE()

={"Totale ore"; ARRAYFORMULA(SE(A3:A <> ""; (SOMMA.SE(SE(RIF.COLONNA(B:H); RIF.RIGA(A3:A)); RIF.RIGA(A3:A); B3:H));))}

In RIF.COLONNA() va indicato l'intervallo orizzontale ("B.H" in questo caso).
In RIF.RIGA() va indicato l'intervallo verticale. Indicando A3:A si va dalla riga 3 fino al fondo. La "A" non ha importanza, sarebbe lo stesso con B3:B o A3:Z perché RIF.RIGA() riporta solo il numero di riga.
Se si volesse limitare l'intervallo occorrerebbe indicare per esempio A3:A10.

Funziona anche se si vuole disporre in orizzontale una serie di somme dei valori presenti in colonne diverse, per esempio questa formula, messa in C9 somma i dati delle righe da 3 a 8 delle colonne da D in poi, se in riga 1 la cella non è vuota.
Notare il "\" che posto invece di ";" a separare il titolo da ARRAYFORMULA(), dispone le cose in orizzontale. 

={"Totale ore"\ ARRAYFORMULA(SE(D1:1 <> ""; (SOMMA.SE(SE(RIF.RIGA(3:8); RIF.COLONNA(D1:1)); RIF.COLONNA(D1:1); D3:8));))}

Credo di dover comprendere meglio il SOMMA.SE() per capire bene questa formula.

Nei due precedenti casi gli intervalli sono aperti ma la formula funziona anche se si limitano le colonne o le righe sulle quali operare.

venerdì 4 febbraio 2022

Webcam PTZ autotracking OSBOT Tiny 4k

Ho avuto modo di avere una OBSBOT Tiny 4k per la recensione, succede di rado di ottenere prodotti interessanti ma questo lo è.

Da un canto questa webcam potrebbe essere considerata un prodotto di nicchia perché avere una webcam che ti insegue il più delle volte non è necessario ma d'altra parte può essere considerata anche "solo" una webcam che rende una immagine molto buona e con una certa capacità di zoom (anche se solo digitale).

Va usata con un microfono separato, altrimenti la qualità del video viene rovinata da un audio povero.

Ho pubblicato un video su YouTube dove dimostro le cose scritte qua sotto:

https://www.youtube.com/watch?v=xURwOCXOSzI

La Tiny 4K viene dopo la Tiny Full HD. La si può definire una webcam, perché è fatta per essere connessa a un PC, via USB. Ma è anche una videocamera PTZ (Pan, Tilt, Zoom, anche se lo zoom è solo digitale) e si distingue sicuramente per il fatto di poter seguire un soggetto che si muove intorno ad essa fino a 150° a destra e 150° a sinistra e fino a 45° in alto o in basso.
La massima velocità di rotazione è di 120°/s
Funziona anche capovolta, l’immagine viene invertita automaticamente dalla webcam ma se si usa la app per controllare la direzione i comandi non sono altrettanto invertiti e diventa difficile controllare l’inquadratura.
Ha un campo visivo (diagonale) di 86° e uno zoom (solo digitale) che arriva a 4x, portando a circa 22° l’angolo di campo diagonale. Per questo ritengo che la Tiny 4K sia adatta a operare con soggetto non più vicino di 40cm e non più lontano di 3-4m.
La Tiny 4K ha la messa a fuoco automatica, che mette a fuoco fino a 10cm circa dalla lente. Se però si vuole mostrare da vicino un oggetto occorre disabilitare l’autotracking e tenere l’oggetto fermo per alcuni secondi di fronte alla webcam.
Arriva a una risoluzione 4K (3860 x 2160) con frequenza fino a 30 frame per secondo. Alle risoluzioni inferiori raggiunge i 60 frame per secondo.

Il sensore è Sony, da 1/2,8 pollici
Ha una modalità HDR (gamma dinamica allargata) per operare in condizioni di scene dove ci siano sia zone d’ombra sia zone molto luminose.
Tre tipi di inseguimento e inquadratura: il modo “normale”, un modo con inseguimento rapido per soggetti che si sostano velocemente e un modo che inquadra il soggetto lasciando maggiore spazio intorno, per non tagliare parti del soggetto.
Riconosce due gesti: uno che permette al soggetto di bloccare o riattivare l’inseguimento e l’altro che fa passare dalla massima larghezza di campo a un  livello di zoom preimpostato, tra 1x e 4x.
Ha in dotazione la custodia rigida che ospita la webcam, il supporto e i cavi.


Audio

Occorre dire qualcosa circa l’audio, che non è al livello del video. La Tiny ha un sistema di cancellazione del rumore che però lascia un suono che non mi pare molto buono. La Logitech Brio in questo caso dà risultati parecchio migliori. 


BOYA BY-WM3

In ogni caso per ottenere buoni risultati audio quando ci si muove intorno alla webcam occorrerà dotarsi di radiomicrofono. Sul sito OBSBOT viene indicato il microfono BOYA BY-WM3U, che è un microfono wireless digitale il cui ricevitore si può connettere sia a una porta USB C sia, in alternativa a un ingresso audio jack.

Per confronto, il modello precedente, la Tiny Full HD ha massima risoluzione Full HD (1920 x 1080) con frequenza di quadro di 30fps, alle risoluzioni inferiori arriva a 60fps. Il massimo zoom è di 2x, non ha la messa a fuoco automatica, la modalità HDR. H un campo visivo diagonale un po’ maggiore, di 90°. Non ha la custodia.


OBSBOT Tail

Sul sito OBSBOT viene presentata anche la OBSBOT Tail, che è una videocamera PTZ autonoma, alimentata da batteria ricaricabile, con due ore di autonomia, controllabile da cellulare via Wi-Fi e che registra su scheda SD. La Tail funziona sia come stabilizzatore (gimbal) sia come inseguitore del soggetto. È dotata anche di zoom ottico 3.5x (da 92° a 32°, equivalenti a una lunghezza focale di 21-74mm). Si arriva a 10x tra zoom ottico e digitale. La rotazione è a 360° senza arresto (può inseguire un soggetto che gira tutto intorno a sé), riconosce un paio di gesti in più rispetto alle Tiny, registra a risoluzione di 4K con 60fps e Full Hd fino a 240fps, per riprese slow motion. Consente scegliere in che zona della inquadratura tenere il soggetto, per una composizione della scena controllata. Può essere usata anche per streaming
Usabile attraverso un cellulare per streaming.

Una bella applicazione della OBSBOT Tail montata su un carrello a filo teso, che mostra cos può fare se c'è un solo soggetto da seguire:

https://youtu.be/yejdBcaNXh4?t=518


OBSBOT Me

Un altro dispositivo OBSBOT per chi intende usare un cellulare per la ripresa video, è l’OBSBOT Me, che è un supporto per cellulare dotato di videocamera che gli permette di inseguire il soggetto intorno al supporto. Regola solo l’angolo orizzontale, non muove il cellulare verso l’alto o il basso.

Controllo

Oltre al controllo con i gesti, la OBSBOT viene controllata attraverso la app, disponibile per PC e Mac. Come PC viene consigliato un I5 con 8GB di RAM, come Mac dei MacBook o iMac dal 2018 o successivi, con Intel I5. Una cosa che manca alla app è la possibilità di invertire il controllo del joistick virtuale quando si usa la Tiny capovolta e alto/basso o sinistra/destra si invertono.
Esiste un telecomando, che opera attraverso il PC, ma per ora non lo vedo su Amazon, che consente di muovere e zoomare, controllare più webcam Tiny e scegliere tra tre posizioni predefinite.

 

Alimentazione

Se connessa direttamente a una porta USB 3 funziona anche col solo cavo USB.
Nel caso venga collegata a un hub Dispone di una presa per ulteriore alimentazione e di un cavo da collegare a una porta o alimentatore USB aggiuntivo.


Applicazioni

È sicuramente pensata per circostanze quali la registrazione su computer o lo streaming da computer di lezioni alla lavagna o lezioni di Yoga, o altre situazioni in cui vi è un unico soggetto che si sposta e modifica la sua distanza dalla webcam, entro certi limiti.

A parte l’audio interno scarso e il fatto che non tutte le volte riconosce i comandi, mi sembra una eccellente webcam fissa per la qualità del video e una preziosa risorsa per chi necessita di una webcam autotracking.
Da quanto ho visto, la Tiny 4K a mio avviso vale decisamente i 60-70 euro in più rispetto alla Tiny Full HD Per l’autofocus e la qualità dell’immagine.