Conversione di lunghe funzioni di Excel in SQL?

IFERROR((SUMIFS('Sheet 1'!$K:$K,'Sheet 1'!$A:$A,'Sheet 2'!I$5,'Sheet 1'!$C:$C,'Sheet 2'!$B15,'Sheet 1'!$K:$K,"<>0"))/(SUMIFS('Sheet 1'!$J:$J,'Sheet 1'!$A:$A,'Sheet 2'!I$5,'Sheet 1'!$C:$C,'Sheet 2'!$B15,'Sheet 1'!$K:$K,"<>0")),"") 

Sto lavorando con la seguente function in Excel e ho bisogno di interpretarlo in MS SQL. Ho familiarità con SQL, ma estremamente sconosciuto con l'eccellenza. Da quello che capisco la function sta tornando "" se errore. altrimenti sta chiamando SUMIF sulle parentesi più intime – all'interno di cui non sono sicuro di che cosa sta succedendo, anche dopo aver esaminato cosa!,: e $ do in Excel

  • Errore VBA: questa chiave è già associata a un elemento di questa raccolta
  • Come sapere se l'applicazione di Excel è in modalità di modifica delle celle?
  • Come fornire l'opzione della window di download all'utente in un'applicazione express di node.js
  • la casella combinata excel non scompare correttamente
  • Convalida della data di excel per il formato MM / gg / aaaa
  • Come implementare un valore di cella di default predefinito in Excel?
  • Fogli di Google - se la colonna A e la colonna b contengono una parola specifica, quindi assegna la colonna C
  • Disegna funcion parziale in vba
  • Convertire Excel VB Macro su Mac compatibile
  • Scrittura di dati dal lettore RFID al file excel utilizzando la lingua RS232 e JAVA
  • Download di Excel come ZIP
  • EXCEL VBA: come validationre il valore con isString o isNumeric?
  • 2 Solutions collect form web for “Conversione di lunghe funzioni di Excel in SQL?”

    SUMIFS() aggiunge una gamma di celle basate su uno o più criteri applicati a un intervallo di celle.

    In primo luogo è l'intervallo di valori da riassumere, poi dopo che vengono coppie di criteri, prima è il field di criteri, quindi i criteri. Il primo si rompe qualcosa di simile:

      SUMIFS('Sheet 1'!$K:$K -- Sum this field ,'Sheet 1'!$A:$A,'Sheet 2'!I$5 --When same row in A matches Sheet 2 I5 ,'Sheet 1'!$C:$C,'Sheet 2'!$B15 --When same row in C matches Sheet 2 B, but 15 rows down. ,'Sheet 1'!$K:$K,"<>0") --When the values aren't 0 

    Questo è il numeratore nella tua formula, puoi abbattere anche il secondo SUMIF ().

    Ok poiché non ho idea di che foglio è che non posso aiutare con l'SQL, ma cercherò di rompere la function per te

     #this part is for if the enclosed returns an error like #VALUE #you can think of this as a try rescue block of sorts #so if there is an Error then Return "" IFERROR( ( #This part is Summing All the values in Column K for multiple criteria #Sum all the values in Column K ref ['Sheet 1'!$K:$K] #Where all the values in Column A = Value in Cell I5 ref['Sheet 1'!$A:$A,'Sheet 2'!I$5] #And Values in Column C = Value in Cell B15 ref [ 'Sheet 1'!$C:$C,'Sheet 2'!$B15] #And the Values in Column K Do not = 0 ref ['Sheet 1'!$K:$K,"<>0"] SUMIFS('Sheet 1'!$K:$K,'Sheet 1'!$A:$A,'Sheet 2'!I$5,'Sheet 1'!$C:$C,'Sheet 2'!$B15,'Sheet 1'!$K:$K,"<>0") #Above Number Divided By )/( #This part is Summing All the values in Column J for multiple criteria #Sum all the values in Column J ref ['Sheet 1'!$J:$J] #Where all the values in Column A = Value in Cell I5 ref['Sheet 1'!$A:$A,'Sheet 2'!I$5] #And Values in Column C = Value in Cell B15 ref [ 'Sheet 1'!$C:$C,'Sheet 2'!$B15] #And the Values in Column K Do not = 0 ref ['Sheet 1'!$K:$K,"<>0"] SUMIFS('Sheet 1'!$J:$J,'Sheet 1'!$A:$A,'Sheet 2'!I$5,'Sheet 1'!$C:$C,'Sheet 2'!$B15,'Sheet 1'!$K:$K,"<>0") ) ,"") 

    Ecco la definizione di SUMIFS . Sinossi rapidi:

     *First Argument is the Rows being Summed *Second Argument is the Criteria Being Evaulated *Third Argument is the Expression Being Evaluated Against *Repeat Second and Third for all additional Criterium 

    Hacked SQL

     SELECT Sum(Sheet1.ColumnK) / Sum(Sheet2.ColumnJ) FROM Sheet1 JOIN Sheet2 WHERE Sheet1.ColumnA = 10 --I Used 10 in place of Sheet2.ColumnI Row5 as this does not translate directly in SQL AND Sheet1.ColumnC = 20 -- Same As Above Substitution for Sheet2.ColumnB Row 15 AND Sheet1.ColumnK <> 0 

    Spero che questo ti aiuti

    Microsoft Office Excel Spreadsheet è il miglior software di Office, Excel VBA e formule Excel rendono il foglio di calcolo più veloce.