【发布时间】:2017-08-30 01:16:43
【问题描述】:
有一个公式(用于将数字金额转换为文字金额)在早期版本的 Google 表格中运行良好。在新工作表中,它不再工作并给出以下错误:
错误:函数 CHOOSE 参数 1 的值为 0。有效值介于 1 和 19 之间。
公式有点大和复杂(多个if函数)-请看下面的链接查看公式-(在单元格B2中)-
=arrayFormula(concatenate(if(trunc(mod(A2,power(10,{11,9,7,5,3}))/power(10,{9,7,5,3,0}))<100,"",choose(int(trunc(mod(A2,power(10,{11,9,7,5,3}))/power(10,{9,7,5,3,0}))/100)," One"," Two"," Three"," Four"," Five"," Six"," Seven"," Eight"," Nine") & " Hundred") & if(mod(trunc(mod(A2,power(10,{11,9,7,5,3}))/power(10,{9,7,5,3,0})),100)<>0,if(trunc(mod(A2,power(10,{11,9,7,5,3}))/power(10,{9,7,5,3,0}))>100," and",if(A2>power(10,{11,9,7,5,3}),choose({1,2,3,4,5},"","","",""," and"),"")),"") & if(mod(trunc(mod(A2,power(10,{11,9,7,5,3}))/power(10,{9,7,5,3,0})),100)=0,"",if(mod(trunc(mod(A2,power(10,{11,9,7,5,3}))/power(10,{9,7,5,3,0})),100)<20,choose(mod(trunc(mod(A2,power(10,{11,9,7,5,3}))/power(10,{9,7,5,3,0})),100)," One"," Two"," Three"," Four"," Five"," Six"," Seven"," Eight"," Nine"," Ten"," Eleven"," Twelve"," Thirteen"," Fourteen"," Fifteen"," Sixteen"," Seventeen"," Eighteen"," Nineteen"),choose(int(mod(trunc(mod(A2,power(10,{11,9,7,5,3}))/power(10,{9,7,5,3,0})),100)/10),""," Twenty"," Thirty"," Forty"," Fifty"," Sixty"," Seventy"," Eighty"," Ninety") & if(mod(mod(trunc(mod(A2,power(10,{11,9,7,5,3}))/power(10,{9,7,5,3,0})),100),10)=0,""," " & choose(mod(mod(trunc(mod(A2,power(10,{11,9,7,5,3}))/power(10,{9,7,5,3,0})),100),10),"One","Two","Three","Four","Five","Six","Seven","Eight","Nine")))) & if(trunc(mod(A2,power(10,{11,9,7,5,3}))/power(10,{9,7,5,3,0}))=0,"",choose({1,2,3,4,5}," Arab"," Crore"," Lakh"," Thousand","")))) & " only"
【问题讨论】:
标签: if-statement google-sheets spreadsheet