close
標題:

用在EXCEL的計算程式 (高手指教) (急求)

發問:

用在EXCEL的計算程式 column A1 = column A101 to column A200 的數據, 如 A101 有數據時 A1=A101 , 但當A102有數據時, A1就=A102, 而A103有數據時, A1就改變成=A103...如此類推.... 請問有否高手可以指導及提供程式方法...本人感謝萬分... 更新: 001 , 你寫得好深奧,你可否幫忙指出我在COLUMN A1 是如何寫計算程式呢?期待... 002, 你那程式我已經試了, 但它只顯示 " 0 " 未能計算出來... 我先多謝兩位的幫忙

最佳解答:

如A101:A200 是數字, 數據之間是否有空格均可: A1公式: =LOOKUP(9E+307,A101:A200) 如A101:A200 是文字, 數據之間是沒有空格: A1公式: =indirect("A"&counta(A101:A200)+100) 如A101:A200 是文字, 數據之間是可能有空格: 便要用較複雜的陣列公式 A1輸入陣列公式: =index(A:A,max(if(A101:A200<>"",row($101:$200)))) 陣列公式的輸入方法是左手按Ctrl + Shift 兩鍵不放, 右手按Enter 如用VBA執行巨集, 祇需一句便可: [a1].value = [a201].end(xlup) 數字/文字/有否空格均可

其他解答:

你可以試下這個 = INDIRECT( ”A”&101+100-COUNT(A101:A200))|||||你的意思是否假如 A200 有數據,則無論A101 – A199 是否有數據,都會用 A200 的,對嗎?若是,則請用以下的 VBA Code Sub insert_value() Application.ScreenUpdating = False range("A200").Select If activecell.Value <> "" Then range("a1").Value = activecell.Value Else Do activecell.Offset(-1, 0).Select range("a1").Value = activecell.Value Loop Until activecell.Value <> isnotempty End If range("a1").Select Application.ScreenUpdating = True End Sub 但若是只要由 A101 向下數起,只要有數據,就用最先出現的數據。就用以下的 code Sub insert_value2() Application.ScreenUpdating = False range("A101").Select If activecell.Value <> "" Then range("a1").Value = range("a101").Value Else icell = Selection.End(xlDown).Row range("A" & icell).Select ivalue = activecell.Value range("a1").Select Selection.Value = ivalue End If Application.ScreenUpdating = True End Sub 2008-03-28 14:02:33 補充: 這是一個vba,簡單來說,在 Excel 環境中,打開 工具 巨集 Visual Baic 編輯器 左手面有一個叫 專案 vba Project 的東西,右click ThisWorkbook 檢視程式碼 將 vba 貼上。即可使用。 詳細的使用方法,可於 Yahoo 中搜到很多相關的知識。在此不再詳述。 2008-03-28 17:40:17 補充: 應用巨集 (Marco) 的超連結 http://office.microsoft.com/zh-tw/excel/CH062528391028.aspx 2008-03-31 10:34:35 補充: 美香小姐果然高, 令我汗顏, 佩服, 佩服

此文章來自奇摩知識+如有不便請留言告知

A215E4A2B88AAE64
arrow
arrow

    omckyyo 發表在 痞客邦 留言(0) 人氣()