返回列表 上一主題 發帖

[發問] 請問:[D4]請填入什麼公式?才能去除重覆項目?

本帖最後由 p212 於 2014-5-23 08:34 編輯

回復 1# yen956
假設欄位名稱分別於儲存格A1及儲存格D1,其對應資料自第二列起,取出A欄的唯一值:
1、定義名稱:「出缺勤別」,參照到:輸入 =OFFSET(Sheet1!$A$2,,,COUNTA(Sheet1!$A:$A)-1)
2、儲存格D2輸入陣列公式
{=IF(ISNA(MATCH(0,COUNTIF($D$1:D1,出缺勤別),0)),"",INDEX(出缺勤別,MATCH(0,COUNTIF($D$1:D1,出缺勤別),0)))}
3、若使用Excel 2007版本以後者,儲存格D2可輸入陣列公式
{=IFERROR(INDEX(出缺勤別,MATCH(0,COUNTIF($D$1:D1,出缺勤別),0)),"")}
請參考!
註:附檔所在位置好像不怎麼安全,可否夾檔在提問之下?謝謝!

TOP

本帖最後由 p212 於 2014-5-23 08:52 編輯

回復 1# yen956
補述2#
1、若A欄資料部份右端具有「數字」,則利用下列陣列公式於B欄造輔助欄(即資料右端不含數字,儲存格B1請起一欄位名稱如「輔助欄」)
{=LEFT(A2,MIN(IF(ISNUMBER(MID(A2,ROW(INDIRECT("1:10")),1)*1),ROW(INDIRECT("1:10")),99))-1)}
2、2#原有定義名稱可修改為:「輔助欄」參照到:為 =OFFSET(Sheet1!$B$2,,,COUNTA(Sheet1!$B:$B)-1)
3、儲存格D2輸入陣列公式
{=IF(ISNA(MATCH(0,COUNTIF($D$1:D1,輔助欄),0)),"",INDEX(輔助欄,MATCH(0,COUNTIF($D$1:D1,輔助欄),0)))}
4、若使用Excel 2007版本以後者,儲存格D2可輸入陣列公式
{=IFERROR(INDEX(輔助欄,MATCH(0,COUNTIF($D$1:D1,輔助欄),0)),"")}
請參考!

TOP

本帖最後由 p212 於 2014-5-23 11:18 編輯

回復 4# yen956
公式 {=IF(ISNA(MATCH(0,COUNTIF($D$1:D1,輔助欄),0)),"",INDEX(輔助欄,MATCH(0,COUNTIF($D$1:D1,輔助欄),0)))} 在Excel 2007一樣可以用!
用IFERROR公式較短,但在您的Excel 2003無法使用。

TOP

本帖最後由 p212 於 2014-5-23 13:40 編輯

回復 6# yen956
{=IF(ISNA(MATCH(0,COUNTIF($D$1:D1,輔助欄),0)),"",INDEX(輔助欄,MATCH(0,COUNTIF($D$1:D1,輔助欄),0)))}
或
{=IFERROR(INDEX(輔助欄,MATCH(0,COUNTIF($D$1:D1,輔助欄),0)),"")}
其
COUNTIF($D$1:D1,輔助欄):對$D$1:D1不存在於「輔助欄」中的任何值,其陣列計算顯示為{0,0,0,0...}。
MATCH(0,COUNTIF($D$1:D1,輔助欄),0):MATCH用以定位「0」在COUNTIF陣列{0,0,0,0……}中的位置。
以1#原問來說,驗證結果即使「輔助欄」資料為「FALSE」亦不會出現您所謂的「假空」現象。
至於「使VBA: [B500].end(xlUP) 誤判」之問題,吾人不知,盼高手們指導、學習。
請參考!

TOP

        靜思自在 : 謊言像一朵盛開的鮮花,外表美麗,生命短暫。
返回列表 上一主題