iT邦幫忙

0

Excel的VLOOKUP函數傳回值的時候,能否傳回前一格的值

Excel的VLOOKUP函數傳回值的時候,能否傳回前一格的值~~因為都是只能參照後面的格子
找不到方法可以參照前面一格的方法

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

2 個回答

4
蟹老闆
iT邦大師 1 級 ‧ 2012-07-01 00:50:07
最佳解答

使用新的函數:
檢視原始檔複製到剪貼簿列印關於
=INDIRECT(ADDRESS(MATCH(Q1,B:B,0),1))

=INDIRECT(ADDRESS(MATCH(欲比對的值(如Q1),比對資料來源(如:B:B),0比對採完全相值),欲抓取的欄位A是1,B是2..類推))

一定要有VLOOKUP函數的做法
檢視原始檔複製到剪貼簿列印關於
=INDIRECT(ADDRESS(MATCH(VLOOKUP(Q1,B:C,1,FALSE),B:B,0),1))

這個函數作法大部份場合沒什麼意義,所以改函數的做法會較合用
以上供參考。
還有一個不改函數的做法
如實際要的欄位在A欄,VLOOKUP的第一欄是B,最後一欄空白欄是H欄,在H欄=A1到A65535
再將VLOOKUP的區域調整至H欄抓取7也是可以,只是這個作法除非不得以否則不要用,因為會被笑........

2
slime
iT邦大師 1 級 ‧ 2012-06-30 02:22:53

印象中是沒有, 不過山不轉路轉, ERP 做不到的 Excel 都做得到(疑? 好像貼錯了....)

資料

<pre class="c" name="code">
A1  B1  C1
A2  B2  C2
A3  B3  C3

如果用 vlookup("123",b:c,2,false) , 則無法查到 a 欄的資料, 那就改為

資料

<pre class="c" name="code">
A1  B1  C1  D1
A2  B2  C2  D2
A3  B3  C3  D3

其中 D1=A1 , D2=A2 , D3=A3 , 公式改為 vlookup("123",b:d,3,false) 就可以了.

至於為什麼不考慮建議 Excel 增加這功能, 我想: 1. 需要用 vlookup 已經不多, 2. Excel 在處理這些公式時, 如果有插入欄, 這些對應的公式全都要自動調整, 所以您的需求除非連公式都重新設計, 否則會因為沒有調整而造成公式異常.

我要發表回答

立即登入回答