iT邦幫忙

0

EXCEL的函數項目中的系統如何代入變數.

dandy6 2014-05-26 09:32:1829552 瀏覽

請問在EXCEL之中我依照各個公司部門開立了不同的頁面,放入各部門的員工資料, 然後再開立一個總表, 總表只有輸入員工代號(U1)跟部門代表(V1), 希望透過VLOOKUP函數, 讓該函數依照部門代號到各部門頁面去查找員工資薪資料出來, 請問VLOOKUP函數中在TABLE ARRAY這個系數可以代變數嗎? 像可以先拼成這個"Sales!$A$1:$D$D20"變數然後放置在某一儲存格中 "S1"然後讓EXCEL去執行嗎? ==>想要利用 =VLOOKUP(U1,S1,3,0)

showjack iT邦新手 1 級 ‧ 2014-05-30 12:04:21 檢舉
不好意思, 我看不出來, 這樣做的用意 , 想請問是否還有更好的解法

先令S1=Sales!$A$1:$D$D20
VLOOKUP(U1,INDIRECT(S1),3,0)
跟直接寫成
=VLOOKUP(U1,Sales!$A$1:$D$D20,3,0)
好像沒什麼差別

當我希望查找的範圍從 Sales!$A$1:$D$D20 變成了 Sales!$B$1:$E$20
去改S1 , 跟去改公式要用的儲存格,都是相同修改動作呀

當然,可能會有差別的情況是, 如果是有多格要使用vlookup
那麼只改S1 確實較省事, 但也差不了多少
因為會用如果多格要使用VLOOKUP, 基本上都是同一欄位內
所以再加一個下拉填滿的動作就行了

多轉一次, 之後再回來查看, 猛然一看VLOOKUP中, 反而不容易看出資料範圍到底是在哪
(得多在查看一下S1 的內容)
沒多少人像Anti Java 兄這麼厲害, 懂那麼多指令, INDIRECT這個指令,知道其用途得人,可能不多
網路上找到的前幾個
都是「用來取代工作表名稱」的範例

INDIRECT 的應用範例
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

6
海綿寶寶
iT邦大神 1 級 ‧ 2014-05-26 10:31:35
最佳解答

原本公式是

<pre class="c" name="code">
=VLOOKUP(U1,Sales!$A$1:$D$D20,3,0)

先將儲存格 S1 的值設為

<pre class="c" name="code">
Sales!$A$1:$D$D20

再把原公式改為

<pre class="c" name="code">
=VLOOKUP(U1,INDIRECT(S1),3,0)

即可

看更多先前的回應...收起先前的回應...
dandy6 iT邦新手 4 級 ‧ 2014-05-26 11:55:24 檢舉

感謝Anti Java 兄幫忙,

果然大師出手, 問題立刻解決, 可否容再下請教一下, 有什麼方法, 可以在EXCEL依照各個部門分別開設頁面, 然後將EXCEL共用分享之後, 讓各部門異動各別資料, 我再開立一張總表頁面來匯總各部門頁面資料,我了解可以利用參照的方式來構成資料的連動, 但是當部門人員新增跟刪除某一列時, 總表就不能異動了, 請問這是不是一要寫VBA來完成呢?

感謝您的協助.

dandy6 iT邦新手 4 級 ‧ 2014-05-26 11:55:32 檢舉

感謝Anti Java 兄幫忙,

果然大師出手, 問題立刻解決, 可否容再下請教一下, 有什麼方法, 可以在EXCEL依照各個部門分別開設頁面, 然後將EXCEL共用分享之後, 讓各部門異動各別資料, 我再開立一張總表頁面來匯總各部門頁面資料,我了解可以利用參照的方式來構成資料的連動, 但是當部門人員新增跟刪除某一列時, 總表就不能異動了, 請問這是不是一要寫VBA來完成呢?

感謝您的協助.

dandy6 iT邦新手 4 級 ‧ 2014-05-26 11:55:36 檢舉

感謝Anti Java 兄幫忙,

果然大師出手, 問題立刻解決, 可否容再下請教一下, 有什麼方法, 可以在EXCEL依照各個部門分別開設頁面, 然後將EXCEL共用分享之後, 讓各部門異動各別資料, 我再開立一張總表頁面來匯總各部門頁面資料,我了解可以利用參照的方式來構成資料的連動, 但是當部門人員新增跟刪除某一列時, 總表就不能異動了, 請問這是不是一要寫VBA來完成呢?

感謝您的協助.

dandy6 iT邦新手 4 級 ‧ 2014-05-26 11:55:44 檢舉

感謝Anti Java 兄幫忙,

果然大師出手, 問題立刻解決, 可否容再下請教一下, 有什麼方法, 可以在EXCEL依照各個部門分別開設頁面, 然後將EXCEL共用分享之後, 讓各部門異動各別資料, 我再開立一張總表頁面來匯總各部門頁面資料,我了解可以利用參照的方式來構成資料的連動, 但是當部門人員新增跟刪除某一列時, 總表就不能異動了, 請問這是不是一要寫VBA來完成呢?

感謝您的協助.

dandy6 iT邦新手 4 級 ‧ 2014-05-26 11:55:52 檢舉

感謝Anti Java 兄幫忙,

果然大師出手, 問題立刻解決, 可否容再下請教一下, 有什麼方法, 可以在EXCEL依照各個部門分別開設頁面, 然後將EXCEL共用分享之後, 讓各部門異動各別資料, 我再開立一張總表頁面來匯總各部門頁面資料,我了解可以利用參照的方式來構成資料的連動, 但是當部門人員新增跟刪除某一列時, 總表就不能異動了, 請問這是不是一要寫VBA來完成呢?

感謝您的協助.

dandy6 iT邦新手 4 級 ‧ 2014-05-26 11:55:56 檢舉

感謝Anti Java 兄幫忙,

果然大師出手, 問題立刻解決, 可否容再下請教一下, 有什麼方法, 可以在EXCEL依照各個部門分別開設頁面, 然後將EXCEL共用分享之後, 讓各部門異動各別資料, 我再開立一張總表頁面來匯總各部門頁面資料,我了解可以利用參照的方式來構成資料的連動, 但是當部門人員新增跟刪除某一列時, 總表就不能異動了, 請問這是不是一要寫VBA來完成呢?

感謝您的協助.

我要發表回答

立即登入回答