簡體   English   中英

excel vlookup 精確匹配十進制值不可用 N/A 盡管相同

[英]excel vlookup exact match decimal value not available N/A despite being identical

親愛的 StackExchange 社區,

https://www.mrexcel.com/forum/excel-questions/552781-vlookup-value-not-available-error.html

https://www.mrexcel.com/forum/about-board/1017050-mrexcel-html-maker-update-4.html

請協助 - 我使用 MrExcelHtml 格式化實用程序(上面鏈接)來幫助將 Excel 工作表轉換為 HTML。 我已經在標准瀏覽器中將它作為一個獨立的 HTML 頁面運行和測試,並且電子表格顯示得很漂亮。 但是,當我將相同的 HTML 粘貼到論壇發帖編輯器中時,結果並沒有實現......我試圖在下面創作的部分示例在沒有格式化表格的情況下真的很難解釋 - 如果有替代方法或解決方法,我下個月我度假回來時,我會很樂意使用它。

提前致謝,


以下 Excel 2010 問題有關 VLOOKUP 值不可用錯誤已根據以下論壇進行了谷歌搜索; https://www.mrexcel.com/forum/excel-questions/552781-vlookup-value-not-available-error.html

讓我們假設我們需要通過精確值匹配來查找,枚舉一些唯一的十進制值,其中一些可能擴展到 4 個小數位。 在 Office 2010 Excel v14 中,VLOOKUP() 似乎能夠處理多達 4 個小數位,如果有人成功使其找到比這更多小數位的值的精確匹配(足夠公平;必須有一個限制在某處!)

以下值是來自 1000 個枚舉值的示例子集,必須精確匹配(並且僅精確匹配)以向后導出枚舉:

A              B
110.9788   <t> 1   
110.97885  <t> 2   
110.9789   <t> 3   

...但是你會注意到,A2 有 5dp 的...對於 VLOOKUP 來說太多了。 有趣的是,在“常規”單元格格式視圖中,單元格 A2

=VLOOKUP(110.9788, A:B, 2, FALSE)    
=VLOOKUP(110.97885, A:B, 2, FALSE)    
=VLOOKUP(110.9789, A:B, 2, FALSE)

然后在您的 VBA 即時窗口中運行以下命令...

  activesheet.cells(8,2).value = worksheetfunction.RoundUp(activesheet.cells(4,2).value, 4)

 <b>Excel 2010</b> <table cellpadding="2.5px" rules="all" style=";background-color: rgb(255,255,255);border: 1px solid;border-collapse: collapse; border-color: rgb(187,187,187)"><colgroup><col width="25px" style="background-color: rgb(218,231,245)" /><col /><col /><col /><col /><col /><col /></colgroup><thead><tr style=" background-color: rgb(218,231,245);text-align: center;color: rgb(22,17,32)"><th></th><th>A</th><th>B</th><th>C</th><th>D</th><th>E</th><th>F</th></tr></thead><tbody><tr ><td style="color: rgb(22,17,32);text-align: center;">1</td><td style=";">activesheet.cells(10,2).value = worksheetfunction.RoundUp( activesheet.cells(6,2).value, 4)</td><td style="text-align: right;;"></td><td style="text-align: right;;"></td><td style="text-align: right;;"></td><td style="text-align: right;;"></td><td style="text-align: right;;"></td></tr><tr ><td style="color: rgb(22,17,32);text-align: center;">2</td><td style=";">activesheet.cells(11,2).value = worksheetfunction.Floor(activesheet.cells(7,2).value,1)</td><td style="text-align: right;;"></td><td style="text-align: right;;"></td><td style="text-align: right;;"></td><td style="text-align: right;;"></td><td style="text-align: right;;"></td></tr><tr ><td style="color: rgb(22,17,32);text-align: center;">3</td><td style=";">activesheet.cells(12,2).value = 0.1 * fix(10 * activesheet.cells(7,2).value)</td><td style="text-align: right;;"></td><td style="text-align: right;;"></td><td style="text-align: right;;"></td><td style="text-align: right;;"></td><td style="text-align: right;;"></td></tr><tr ><td style="color: rgb(22,17,32);text-align: center;">4</td><td style="font-weight: bold;;">how values were input into B column</td><td style="font-weight: bold;;">values</td><td style="font-weight: bold;;">enum</td><td style="font-weight: bold;text-align: right;;"></td><td style="font-weight: bold;;">typed values</td><td style="font-weight: bold;;">Vlookup Result</td></tr><tr ><td style="color: rgb(22,17,32);text-align: center;">5</td><td style=";">typed 110.9775</td><td style="text-align: right;;">110.9775</td><td style="text-align: right;;">1</td><td style="text-align: right;;"></td><td style="text-align: right;;">110.9788</td><td style="text-align: right;;">4</td></tr><tr ><td style="color: rgb(22,17,32);text-align: center;">6</td><td style=";">typed 110.97885</td><td style="text-align: right;;">110.9789</td><td style="text-align: right;;">2</td><td style="text-align: right;;"></td><td style="text-align: right;;">110.9789</td><td style="text-align: right;;">2</td></tr><tr ><td style="color: rgb(22,17,32);text-align: center;">7</td><td style=";">typed 110.979</td><td style="text-align: right;;">110.979</td><td style="text-align: right;;">3</td><td style="text-align: right;;"></td><td style="text-align: right;;">110.9789</td><td style="text-align: right;;">#N/A</td></tr><tr ><td style="color: rgb(22,17,32);text-align: center;">8</td><td style=";">rounddown(B4)</td><td style="text-align: right;;">110.9788</td><td style="text-align: right;;">4</td><td style="text-align: right;;"></td><td style="text-align: right;;">110</td><td style="text-align: right;;">7</td></tr><tr ><td style="color: rgb(22,17,32);text-align: center;">9</td><td style=";">copy pasted from B4</td><td style="text-align: right;;">110.9789</td><td style="text-align: right;;">5</td><td style="text-align: right;;"></td><td style="text-align: right;;">110.9</td><td style="text-align: right;;">8</td></tr><tr ><td style="color: rgb(22,17,32);text-align: center;">10</td><td style=";">using cell A1's VBA code</td><td style="text-align: right;;">110.9789</td><td style="text-align: right;;">6</td><td style="text-align: right;;"></td><td style=";">F4=VLOOKUP(E4,B:C,2,FALSE)</td><td style="text-align: right;;"></td></tr><tr ><td style="color: rgb(22,17,32);text-align: center;">11</td><td style=";">using cell A2's VBA code</td><td style="text-align: right;;">110</td><td style="text-align: right;;">7</td><td style="text-align: right;;"></td><td style=";">F5=VLOOKUP(E5,B:C,2,FALSE)</td><td style="text-align: right;;"></td></tr><tr ><td style="color: rgb(22,17,32);text-align: center;">12</td><td style=";">using cell A3's VBA code</td><td style="text-align: right;;">110.9</td><td style="text-align: right;;">8</td><td style="text-align: right;;"></td><td style=";">etc..</td><td style="text-align: right;;"></td></tr></tbody></table><p style="width:4.8em;font-weight:bold;margin:0;padding:0.2em 0.6em 0.2em 0.5em;border: 1px solid rgb(187,187,187);border-top:none;text-align: center;background-color: rgb(218,231,245);color: rgb(22,17,32)">Sheet1</p><br /><br /><table width="85%" cellpadding="2.5px" rules="all" style=";border: 2px solid black;border-collapse:collapse;padding: 0.4em;background-color: rgb(255,255,255)" ><tr><td style="padding:6px" ><b>Worksheet Formulas</b><table cellpadding="2.5px" width="100%" rules="all" style="border: 1px solid;text-align:center;background-color: rgb(255,255,255);border-collapse: collapse; border-color: rgb(187,187,187)"><thead><tr style=" background-color: rgb(218,231,245);color: rgb(22,17,32)"><th width="10px">Cell</th><th style="text-align:left;padding-left:5px;">Formula</th></tr></thead><tbody><tr><th width="10px" style=" background-color: rgb(218,231,245);color: rgb(22,17,32)">B8</th><td style="text-align:left">=ROUNDDOWN(<font color="Blue">B6,4</font>)</td></tr><tr><th width="10px" style=" background-color: rgb(218,231,245);color: rgb(22,17,32)">F5</th><td style="text-align:left">=VLOOKUP(<font color="Blue">E5,B:C,2,FALSE</font>)</td></tr><tr><th width="10px" style=" background-color: rgb(218,231,245);color: rgb(22,17,32)">F6</th><td style="text-align:left">=VLOOKUP(<font color="Blue">E6,B:C,2,FALSE</font>)</td></tr><tr><th width="10px" style=" background-color: rgb(218,231,245);color: rgb(22,17,32)">F7</th><td style="text-align:left">=VLOOKUP(<font color="Blue">E7,B:C,2,FALSE</font>)</td></tr><tr><th width="10px" style=" background-color: rgb(218,231,245);color: rgb(22,17,32)">F8</th><td style="text-align:left">=VLOOKUP(<font color="Blue">E8,B:C,2,FALSE</font>)</td></tr><tr><th width="10px" style=" background-color: rgb(218,231,245);color: rgb(22,17,32)">F9</th><td style="text-align:left">=VLOOKUP(<font color="Blue">E9,B:C,2,FALSE</font>)</td></tr></tbody></table></td></tr></table><br />

VLOOKUP 不限於 4 個小數位 - 您遇到了 Excel 顯示的內容與實際內部二進制值不匹配的問題。

您可以通過使用 RAND 在 A1:A10 中生成一些隨機數來測試 VLOOKUP DP 限制,然后復制粘貼值以擺脫 RAND。 然后在 D1:D10 中使用 VLOOKUP(A1,$A1:$A10,1,false)。 如果您擴展格式,即使數字顯示為小數點后 15 位,您也不會得到 #N/A。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM