English Deutsch Français Italiano Español Português 繁體中文 Bahasa Indonesia Tiếng Việt ภาษาไทย
所有分類

假設,當A1=1則A2=9,當A1=2則A2=11
而A3以名稱定義設定
當A1=1時在A3輸入1+2D 則A4會秀出19(D為A2儲存格之值)
當A2=2時在A3輸入1+2D 則A4會秀出23 (D為A2儲存格之值)
請問此作法該如何設定,(在A3之輸入值D不能為儲存格位置)
請各位高手賜教.謝謝

2007-02-14 08:29:18 · 5 個解答 · 發問者 小邱 3 in 電腦與網際網路 軟體

簡單的說
我要在C1儲存格輸入一個數值,此數值代表一個名稱"D"
當我在C2輸入1*3D(假設D=3)則C3=10
當我在C2輸入1*5D(假設D=3)則C3=16
講得更簡單一點
我要在一個儲存格輸入一個函數"=1*2D"而D等於另一儲存格內之數值.答案當然是1*2*D

2007-02-15 03:43:23 · update #1

非常感謝諸位前輩指導,使我獲益良多,由其applerot幫我解開許多疑問
,想再請教applerot,如果單純在某一儲存格內輸入"2D或40D或3.5D"(D為另一儲存格之值)而電腦如何將其視為"2*D或40*D或3.5*D".一定要使用定義嗎.感恩

2007-02-16 05:34:43 · update #2

5 個解答

D為名稱定義=A2
A3不能輸入 1+2*D 嗎?

2007-02-15 18:07:23 補充:
A2=A1*2+7 ;以目前題例可行
A3建議輸入1+2*D;因Excel看不懂2D
A4=XX
D為名稱定義,參照到(R): =Sheet1!$A$2
XX為名稱定義,參照到(R): =EVALUATE(Sheet1!$A$3)
可將A3的計算式轉為數值
相關函數說明,在找知識輸入EVALUATE搜尋有許多專家解說
如A3一成不變只有輸入1+2D一種
A4=IF(A3="1+2D",1+2*D,0)
自己測試看看,那種方法較為適用.

2007-02-15 22:52:14 補充:
改變設定儲存格定義:
C2輸入 1+3D 
按Ctrl+F3(功能鍵) 現有名稱(W)輸入 : D 參照到(R) : =Sheet1!$C$1
新增 現有名稱(W)輸入 : XX 參照到(R) : 
=EVALUATE(LEFT(Sheet1!$C$2,FIND("D",Sheet1!$C$2,1)-1)&(IF(ISNUMBER(--MID(Sheet1!$C$2,FIND("D",Sheet1!$C$2,1)-1,1)),"*D","D"))) 新增 確定
以上動作完成即可得解.

2007-02-15 22:53:19 補充:
=LEFT(Sheet1!C2,FIND("D",Sheet1!C2,1)-1)&(IF(ISNUMBER(--MID(Sheet1!C2,FIND("D",Sheet1!C2,1)-1,1)),"*D","D"))
是將1+2D的文字公式轉變為1+2*D
 將1+3D的文字公式轉變為1+3*D
 將1+D的文字公式不作變更
將此文字供EVALUATE計算結果
**EVALUATE函數僅能在名稱定義中使用.

2007-02-16 20:51:53 補充:
EVALUATE函數僅能在名稱定義中使用,其他的文字解碼是須配合它
2D或40D或3.5D在儲存格中前面加 = 符號Excel是視為公式錯誤
LEFT(Sheet1!C2,FIND("D",Sheet1!C2,1)-1)&(IF(ISNUMBER(--MID(Sheet1!C2,FIND("D",Sheet1!C2,1)-1,1)),"*D","D"))
是針對此問題修正錯誤的方法,但非萬能如有第二類如1+2D/10
那公式又要修改使公式更複雜,如能以電腦懂的文字公式1+2*D/10
不管如何變化EVALUATE就會像在前面加個 = 符號 =1+2*D/10

2007-02-16 21:00:01 補充:
通常定義名稱的目的是要簡化公式,使公式更清楚易懂。
如能達到需求,定義名稱又何妨。

2007-02-15 13:07:23 · answer #1 · answered by 顯栓 7 · 0 0

小弟不才,在以前的回答中,有發現一些問題,非得用定義才能解決..
陣列公式中,對"可改變的"的值...會出現錯誤,得先用定義名稱將他傳出來..
沒記錯的話,indirect好像就是其中之一...
看完整的公式中,點出他的對話框,indirect那段傳回的是"可改變的"..
通常這使用陣列會出錯,若先將他用定義取出值..就不會有問題了..
假設舉一個例,沒試過,但應該是要用定義才對..
在用small(if(的陣列公式,若範圍是使用動態範圍,offset(XX,,,1,1)
xx的部份用indirect來做的話,會出錯,所以這部份就得用定義囉...

提出一點小小的意見..

2007-02-20 20:35:23 · answer #2 · answered by 一個人的咖啡 4 · 0 0

不知道你是不是要這樣...

(您照著以下內容,輸入看看...)

  A 
1
2 =IF(A1=1,9,IF(A1=2,11,""))
3
4 =IF(A3="1+2D",1+2*A2,"")
5

分別在儲存格A2與A4輸入上面的判別公式

接著就在A1輸入 1 A3輸入 1+2D 試試吧

2007-02-14 11:13:22 · answer #3 · answered by �∪𤥃�� 3 · 0 0

A2 公式 : =IF(A1=1,9,IF(A1=2,11,""))
A4 公式 : =IF(A1=1,1+A2*2,IF(A1=2,1+A2*2,""))
A3 看不懂意思喔! 無法下公式囉! 說清楚一點.
若無其他用途則公式可改為如下:
A2 公式 : =IF(A1=1,9,11)
A4 公式 : =1+A2*2

2007-02-15 09:47:07 補充:
還是不太懂意思. D為A2儲存格之值或是為c1儲存格之值 ?
又為何在A3之輸入值D不能為儲存格位置?
若D=A2, 則答案與A4一樣的. 故無意義不是嗎?
若D=C1, 又與A3有何關係? 或者只是舉例而已?

2007-02-16 13:20:37 補充:
還是 Applerot 厲害喔! 又多學一招.

2007-02-14 11:11:10 · answer #4 · answered by Frank Chiou 7 · 0 0

EXCEL名稱定義的問題

就「插入」「名稱」「定義」
「現有名稱」輸入D
「參照到」輸入=Sheet1!$A$2

2007-02-14 10:51:33 · answer #5 · answered by Johnson 2 · 0 0

fedest.com, questions and answers