返回列表 上一主題 發帖

[轉貼] 討論不重複清單

回復 10# PD961A


    "重算儲存格"正常現象,如果不想"重算儲存格"可以用附圖方法解除,But 改成手動後就不會自動處理了喔



附圖為 工具 > 選項 設定的選單

TOP

回復  PD961A


陣列公式是一種循環式計算的強大功能,雖然好用,但也有缺點
借用zz5151353 版主公式說 ...
asimov 發表於 2010-7-1 22:25


贊成!
少用陣列公式
可以減少重複運算

純研究可行,如用於實務上經常會跑不動
幾乎不會用於實務上
基本上陣列公式可透過輔助欄可以輕鬆完成
知之為知之,不知為不知,誠實也!

TOP

回復 10# PD961A


陣列公式是一種循環式計算的強大功能,雖然好用,但也有缺點
借用zz5151353 版主公式說明
{=INDEX(A:A,SMALL(IF(MATCH(A$2:A$100&"",A$2:A$100&"",)=ROW($2:$100)-1,ROW($2:$100),4^8),ROW(1:1)))&""}
短短的一行共使用了 INDEX、SMALL、IF、MATCH、ROW等至少5個函數
而其計算範圍有99列(ROW($2:$100))
如果將此公式複製10個,CPU的負擔已經有點重

又如果計算範圍是3000列,公式複製為12個月,又有10幾項要統計,想當然爾,CPU一定跑得氣喘吁吁
試過跑一個重新計算可以喝一杯咖啡,一點也不誇張
所以減少使用大量的陣列公式,有助於提升工作效率喔
機器人三大定律-保護人類、服從命令、保護自己
我的三大定律-生命、生存、生活

TOP

有公式當然就會重算
除非你把工具/選項中的自動重算改手動
學海無涯_不恥下問

TOP

舊站以上連結曾經討論過此一問題
其中附件大都遺失,把他歸納一下供大家參考
有更好公式歡迎繼續參與討論 ...
Hsieh 發表於 2010-6-18 23:41



    請問版主及各位先進
下載這個檔案�堛漱漁e都整理好了
可是每做一個動作
都會有一直"重算儲存格"的動作
請問各位先進下載後的檔案會有這樣的情形嗎?

儲存格計算-1.jpg


計算-2.jpg







若沒有大概是自己EXCEL的問題了....謝謝

TOP

在VBA中一般用集合或字典,做个自定义函数
学习

TOP

还是2007以上版本的删除重复值来的快一些
学习

TOP

本帖最後由 gong 於 2010-7-1 08:23 編輯

回復 6# zz5151353

謝謝zz大大.
大大教的這個沒有問題了.
{=INDEX(D:D,SMALL(IF((D$3:D$40<>"")*MATCH(D$3:D$40&"",D$3:D$40&"",)=ROW($3:$40)-2,ROW($3:$40),4^8),ROW(1:1)))&""}
50 字節以內
不支持自定義 Discuz! 代碼

TOP

請上傳檔案吧

{=INDEX(D:D,SMALL(IF((D$3:D$40<>"")*MATCH(D$3:D$40&"",D$3:D$40&"",)=ROW($3:$40)-2,ROW($3:$40),4^8),ROW(1:1)))&""}
300 字節以內
不支持自定義 Discuz! 代碼

TOP

本帖最後由 gong 於 2010-7-1 08:24 編輯

回復 4# Hsieh

圖1 d5會有 空格   公式{=INDEX(A:A,SMALL(IF(MATCH(A$2:A$100&"",A$2:A$100&"",)=ROW($2:$100)-1,ROW($2:$100),4^8),ROW(1:1)))&""}

圖2 沒有出數  公式{=INDEX(A:A,SMALL(IF(MATCH($D$3:$D$40&"",$D$3:$D$40&"",)=ROW($3:$40)-1,ROW($3:$40),4^8),ROW(1:1)))&""}

zz1.JPG (80.13 KB)

zz1.JPG

zz2.JPG (81.42 KB)

zz2.JPG

50 字節以內
不支持自定義 Discuz! 代碼

TOP

        靜思自在 : 心中常存善解、包容、感思、知足、惜福。
返回列表 上一主題