【Word技巧】- 郵件合併後數值出現多位小數的解決辦法

今天插播一條和VBA初學者教程無關的圖文,前天群里有成都的小夥伴諮詢郵件合併的問題,具體問題如下圖所示:

如果還不會郵件合併的小夥伴可以查看之前我寫的文章【Word技巧】- 教會你99%的人都不會的「郵件合併」功能,學會了郵件合併,能大大縮短批量製作准考證、通知單等等時間。

通過上圖可以看到,小夥伴婭遇到郵件合併後,出現金額、建築面積和違約金等出現多位小數,即紅色框標出的區域。其實Excel中設置的是2位小數,但通過郵件合併後在Word中卻顯示為多位小數,出現這種情況,可以通過以下幾種方法解決(整理自互聯網)。

一 使用動態數據交換(DDE)連接到Excel工作表

針對Word 2003:

1 單擊菜單【工具】→【選項】→【常規】,在【常規選項】下勾選【打開時確認轉換】,單擊【確定】後再重新進行郵件合併。

2 在【郵件合併】工具欄中單擊第二個按鈕【打開數據源】,選擇所需的Excel工作簿文件,Word會彈出【確認數據源】的對話框,選擇【MS Excel 工作簿通過 DDE (*.xls)】,單擊【確定】。

在隨後出現的對話框中單擊【確定】。

3 在【郵件合併】工具欄中單擊【插入域】按鈕插入所需的數值,這時所顯示的數值就不會是多位小數了。

針對Word 2007及以上:

1 單擊【Office按鈕】→【Word選項】→【高級】,在【常規】下勾選【打開時確認文件格式轉換】,單擊【確定】。

2 然後再進行郵件合併操作,具體方法不再贅述。

PS:該方法我測試沒有通過,應該不是我不會操作吧,希望各位指明^_^

二 修改域代碼

經過插入域的操作,我們可以預覽看到,小數點的確出現很多位,如下圖所示:

1 按下快捷鍵Alt+F9,將數值轉換為域代碼,在域代碼上單擊可以看到類似下門的代碼:

{ MERGEFIELD 面積 }n

如果是Word 2007及以上,則域代碼中沒有英文雙引號。

2 如果需要保留2位小數,可以在域代碼後加入以下代碼:#0.00,此時域代碼被修改為:

{ MERGEFIELD 面積 #0.00 }n

3 按Alt+F9,將域代碼轉換為數值。注意在沒有單擊【郵件合併】工具欄中的【上一記錄】、【下一記錄】或【預覽結果】按鈕前,所顯示的小數仍然是12位的,單擊【上一記錄】、【下一記錄】或【預覽結果】按鈕,數值就會顯示為兩位小數,設置完成後的截圖如下:

如果要保留3為小數,則將域代碼改成:

{ MERGEFIELD 面積 #0.000 }n

如果要將數值顯示為「¥193137.25」的樣式,則改為:

{ MERGEFIELD 面積 #¥0.00 }n

優點:可以徹底解決問題,而且還可以設置需要的格式。

缺點:如果插入的域過多,有可能需要一個一個修改,比較麻煩,而且有時候只有一位小數的時候,用這種方式末尾也會用「0」佔位。

三 修改Excel工作表

在Excel中將所需的數值用下列公式代替,在Word中進行郵件合併後就會按所設置的小數位數顯示。例如要顯示兩位小數,數值在C2:C5區域中,將郵件合併所需的數值放到D2:D5區域,在D2單元格中輸入公式:

=TEXT(C2, "0.00")或=C2 & ""n

通過建立Sheet2工作表,增加D列,使用公式後單元格內容變為了文本。 再次打開Word文檔,把{ MERGEFIELD 面積 }修改為{ MERGEFIELD 面積(公式) },再次按下Alt+F9,發現多位的小數也不見啦。

優點:可以徹底解決問題,而且還可以設置需要的格式。

缺點:需要增加輔助列或對原有數據進行修改,不利於操作。

四 修改Excel數據區域單元格格式

右鍵單擊Excel數據區,選擇【設置單元格格式】,在【數字】選項卡中將分類欄改為【文本】即可。進行動態圖演示之前已經設置Excel Sheet3工作表的數據區域為文本,動態演示如下圖所示:

優點:簡單易行。

缺點:改為【文本】的單元格無法再次進行數據計算,因此建議採用此法的朋友在最後合併之前更改。

通過如上幾個方法的操作,我相信大家都已經學會如何解決多位小數問題,如果有更加方便的方法,歡迎留言哦。想要素材的小夥伴可以在公眾號回復「20170623」得到哦~後期文章附帶的素材,大家都可以通過在公眾號回復該文檔發送的日期得到,歡迎下載學習^_^Written by Steven in 20170623^_^

微信公眾號:SaveUTime

SUT學習交流群:615356012,入群審核人:Steven

關注公眾號,提高效率,節約您的時間!

推薦閱讀:

【Word技巧】- 教會你99%的人都不會的「郵件合併」功能

TAG:MicrosoftWord | 邮件合并域 | 解决问题 |