我發現此公式可將金額轉換爲單詞,但它不起作用100%。每當數量以20,30,40等結束時,就會發生錯誤。例如1020會出錯,但1019和1021會正常工作。我試圖自己解決這個問題,但沒有運氣。它必須是公式(它與接口不能處理VBA腳本軟件(谷歌文檔)將Excel值轉換爲單詞(英文)
下面是公式:
=IF(H53<10^12,
IF(INT(H53/10^9)>0,
IF(INT(H53/10^11)>0,
INDEX(
{"One ","Two ","Three","Four ","Five ","Six ","Seven ","Eight ","Nine "},
MATCH(INT(H53/10^11),{1,2,3,4,5,6,7,8,9})
)&"Hundred ",
"")&
IF(MOD(INT(H53/10^9),100)<20,
INDEX(
{"","One ","Two ","Three ","Four ","Five ","Six ","Seven ","Eight ","Nine ","Ten ",
"Eleven ","Twelve","Thirteen","Fourteen ","Fifteen","Sixteen","Seventeen","Eighteen ","Nineteen"},
MATCH(MOD(INT(H53/10^9),100),{0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19})
),
INDEX(
{"","Twenty ","Thirty ","Fourty ","Fifty ","Sixty ","Seventy ","Eighty ","Ninety "},
MATCH(INT(MOD(INT(H53/10^9),100)/10),{1,2,3,4,5,6,7,8,9})
)&
INDEX(
{"One ","Two ","Three ","Four ","Five ","Six ","Seven ","Eight ","Nine "},
MATCH(MOD(INT(H53/10^9),10),{1,2,3,4,5,6,7,8,9})
)
)&" Billion ",
""
)&
IF(MOD(INT(H53/10^6),10^3)>0,
IF(INT(MOD(INT(H53/10^6),10^3)/100)>0,
INDEX(
{"One ","Two ","Three ","Four ","Five ","Six ","Seven ","Eight ","Nine "},
MATCH(INT(MOD(INT(H53/10^6),10^3)/100),{1,2,3,4,5,6,7,8,9})
)&"Hundred ",
"")&
IF(MOD(INT(H53/10^6),100)<20,
INDEX(
{"","One ","Two ","Three ","Four ","Five ","Six ","Seven ","Eight ","Nine ","Ten ",
"Eleven ","Twelve","Thirteen","Fourteen ","Fifteen ","Sixteen","Seventeen","Eighteen ","Nineteen"},
MATCH(MOD(INT(H53/10^6),100),{0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19})
),
INDEX(
{"","Twenty ","Thirty ","Fourty ","Fifty ","Sixty ","Seventy ","Eighty ","Ninety "},
MATCH(INT(MOD(INT(H53/10^6),100)/10),{1,2,3,4,5,6,7,8,9})
)&
INDEX(
{"One ","Two ","Three ","Four ","Five ","Six ","Seven ","Eight ","Nine "},
MATCH(MOD(INT(H53/10^6),10),{1,2,3,4,5,6,7,8,9})
)
)&" Million ",
""
)&
IF(MOD(INT(H53/10^3),10^3)>0,
IF(INT(MOD(INT(H53/10^3),10^3)/100)>0,
INDEX(
{"One ","Two ","Three ","Four ","Five ","Six ","Seven ","Eight ","Nine "},
MATCH(INT(MOD(INT(H53/10^3),10^3)/100),{1,2,3,4,5,6,7,8,9})
)&"Hundred ",
"")&
IF(MOD(INT(H53/10^3),100)<20,
INDEX(
{"","One ","Two ","Three ","Four ","Five ","Six ","Seven ","Eight ","Nine ","Ten ",
"Eleven ","Twelve","Thirteen","Fourteen ","Fifteen ","Sixteen","Seventeen","Eighteen ","Nineteen"},
MATCH(MOD(INT(H53/10^3),100),{0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19})
),
INDEX(
{"","Twenty ","Thirty ","Fourty ","Fifty ","Sixty ","Seventy ","Eighty ","Ninety "},
MATCH(INT(MOD(INT(H53/10^3),100)/10),{1,2,3,4,5,6,7,8,9})
)&
INDEX(
{"One ","Two ","Three ","Four ","Five ","Six ","Seven ","Eight ","Nine "},
MATCH(MOD(INT(H53/10^3),10),{1,2,3,4,5,6,7,8,9})
)
)&" Thousand ",
""
)&
IF(MOD(MOD(H53,10^4),10^3)>0,
IF(INT(MOD(MOD(H53,10^4),10^3)/100)>0,
INDEX(
{"One ","Two ","Three ","Four ","Five ","Six ","Seven ","Eight ","Nine "},
MATCH(INT(MOD(MOD(H53,10^4),10^3)/100),{1,2,3,4,5,6,7,8,9})
)&"Hundred ",
""
)&
IF(MOD(MOD(MOD(H53,10^4),10^3),100)<20,
INDEX(
{"","One ","Two ","Three ","Four ","Five ","Six ","Seven ","Eight ","Nine ","Ten ",
"Eleven ","Twelve","Thirteen","Fourteen ","Fifteen ","Sixteen","Seventeen","Eighteen ","Nineteen"},
MATCH(MOD(MOD(MOD(H53,10^4),10^3),100),{0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19})
),
INDEX(
{"","Twenty ","Thirty ","Fourty ","Fifty ","Sixty ","Seventy ","Eighty ","Ninety "},
MATCH(INT(MOD(MOD(MOD(H53,10^4),10^3),100)/10),{1,2,3,4,5,6,7,8,9})
)&
INDEX(
{"One ","Two ","Three ","Four ","Five ","Six ","Seven ","Eight ","Nine "},
MATCH(MOD(MOD(MOD(H53,10^4),10^3),10),{1,2,3,4,5,6,7,8,9})
)
),
""
),
""
) & " Rands"
什麼公式!它已經花了我幾分鐘的時間來簡單地格式化它(參見編輯)。看一看「評估公式」功能 - 它會引導您完成每一步,幫助您發現錯誤! – 2013-02-25 11:51:21
說實話,我完全不懂這個公式。我已經意識到谷歌腳本可以實現javascripting,並且在JavaScript中有很多功能可以做同樣的事情。我將使用其中的一個JavaScript函數,並且不要打破上面的公式。 Thx雖然你的建議。 – Albertus 2013-02-25 13:45:40
該公式已修復,請參閱下面的答案 - 因此無需JavaScript ... – 2013-02-25 14:14:01