返回列表 上一主題 發帖

Validation 篩選的問題

Validation 篩選的問題

條件式篩選問題,有人可以幫忙嗎? George problem.rar (3.18 KB)
借錢不還,才是王道

回復 1# apolloooo
必須使用輔助欄得到不重複的單位清單
然後在取得單位的人名
試試附件
George problem.rar (5.86 KB)
學海無涯_不恥下問

TOP

回復 2# Hsieh


    謝兄的範例我的機子不能成功顯示
小改一下。
George problem.rar (5.87 KB)

TOP

本帖最後由 ANGELA 於 2011-8-3 10:41 編輯

感謝,果然和想像的一樣複雜,不過有一個小問題,.........
z=OFFSET(Sheet1!$D$7,,,x,)
x=LOOKUP(1,1/(Sheet1!$D:$D<>""),ROW(Sheet1!$D:$D))-6
y=ROW(OFFSET(Sheet1!$A$1,,,x,))
----------.
{=IF(ROW(A8)>SUM(1/COUNTIF(z,z)),"",OFFSET($D$6,SMALL(IF(COUNTIF(OFFSET($D$7,,,y,),z)=1,y,""),ROW(A8)),))}

ROW(A8)>SUM(1/COUNTIF(z,z)) <-- 想問這句是怎麼回事。
借錢不還,才是王道

TOP

回復 4# apolloooo


    ROW(A8)>SUM(1/COUNTIF(z,z)) <-- 想問這句是怎麼回事。
z是一個區域範圍
SUM(1/COUNTIF(z,z)) 是這個範圍的不重覆個數
ROW(A8)=8

TOP

這句的用意是當公式所在列大於欲取得的不重複值時,用空白顯示,才不出現錯誤符號。

TOP

回復 3# oobird

我原是在2010版編輯
原來x名稱使用
=LOOKUP(1,1/(Sheet1!$D:$D<>""),ROW(Sheet1!$D:$D))-6
是可以成功,經版主提醒,今天以2003開啟確實造成錯誤,公式改成如下
=LOOKUP(1,1/(Sheet1!$D$6:$D$65536<>""),ROW(Sheet1!$6:$65536))-6
這樣能夠通過2003版本
為何會有這樣情形?還請各位提出看法
照理LOOKUP並不會因為整欄而不認為是陣列
莫非2010版因為列數增多,所以檔案記憶其範圍超出2003版所致?
但是,我在2003版重新以整欄定義仍然不能成功
請各位先進賜教
學海無涯_不恥下問

TOP

我在2003中,lookup一向與sumproduct一樣不能指定整欄

TOP

最後我認輸了,用VBA解決它,就不用向同事解釋那麼多了 George problem.rar (11.41 KB)
借錢不還,才是王道

TOP

倒是說,為什麼不行直接用VBA把儲存格直接Validation 就好了,反而要透過定義名稱才行。
借錢不還,才是王道

TOP

        靜思自在 : 人的眼睛長在前面,只看到別人的缺點,絲毫看不到自己的缺點。
返回列表 上一主題