2016-10-05 59 views
0

有沒有什麼方法可以基於包括邏輯函數在內的用戶輸入來構建公式?例如,用戶可以輸入建立基於單元格引用的Excel公式

A1必須<> 1

A1將在一個小區(和我可以使用一個間接)在相鄰小區中,與<>並且將所得式將是= IF(A1 <> 1,TRUE,FALSE),但用戶希望下一次式是

A1> 1

所以單元將具有A1(再次使用間接對所得式)和>在相鄰小區中以導致IF(A1> 1,TRUE,FALSE)

+0

應始終在比較中使用相同的小區(在此A1)?或者應該像'C23 = 5'一樣輸入也被處理? – BerndGit

+0

僅比較<,>,=,<>所需的或更復雜的語句? – BerndGit

+0

它將永遠是同一個單元格。它實際上會更復雜一點,因爲度量標準將被命名,我將使用VLOOKUP來查找該度量標準引用的實際單元值,但爲了保持簡單,我只是使用A1作爲示例。我只需要您列出的四個角色 編輯:爲了澄清,用戶可能實際上將「<>」放在「收入」旁邊的框中,但我將VLOOKUP「收入」指向指向A1的間接在這種情況下 – user2149520

回答

0

一種方式將是對評估每種可能性(<>,=,< =,=)然後使用匹配或查找功能根據用戶輸入選擇正確的答案。

+0

這將是我們要走的路,但我有8個不同的指標和3個標準(「<>」,「<", ">」),所以它將是所有組合的噸公式 – user2149520

+0

度量可以基於動態在間接功能上。您只需要創建一次標準(<>,<, >)列表。 – Reeves

0

您可以使用ConvertData菜單,拆分包含了使用空格分隔符爲每個細胞。您器選擇L列寫公式(例如,以避免重疊,由於拆分操作),然後就可以組裝你的準則通過連接好的單元格的內容制定一個公式。

如果單元格分別包含符號「<」,「=」和「>」,則可以通過CHER(60),CHAR(61)或CHAR(62)進行檢查。

希望這可以幫助!

+0

我認爲這是在某個地方,但我仍然無法獲得沒有硬鍵控操作員的評估公式。所以,如果我連接** = A1&CHAR(60)&A2 **(例如),我得到'A1'<'A2',而不是'真'或'假',就像我做** = A1 user2149520

0

我採取以下例子中,用2行:

  1. A1必須從不同的一個<> 1
  2. A1必須等於或大於 零> 0

在細胞B1,我會有A1。在下一個單元格C1中,我將具有「必須」。在D1「是」,在E1「不同」等等。在H1「<>」中,我在I1中有「1」。 因此,第二行從單元格B2到K2,在J2中將「>」和K2設置爲「0」。 我在單元格A1中輸入5,在單元格A2中輸入0。 在細胞M1,我在下面輸入這一行有我的公式:

=" = IF(" & "A1" & IF(LEN(C1)>2;"";IF(LEFT(C1;1)="<";C1;IF(LEFT(C1;1)="=";C1;IF(LEFT(C1;1)=">";C1;IF(ISNUMBER(C1);C1;"")))))&IF(LEN(D1)>2;"";IF(LEFT(D1;1)="<";D1;IF(LEFT(D1;1)="=";D1;IF(LEFT(D1;1)=">";D1;IF(ISNUMBER(D1);D1;"")))))&IF(LEN(E1)>2;"";IF(LEFT(E1;1)="<";E1;IF(LEFT(E1;1)="=";E1;IF(LEFT(E1;1)=">";E1;IF(ISNUMBER(E1);E1;"")))))&IF(LEN(F1)>2;"";IF(LEFT(F1;1)="<";F1;IF(LEFT(F1;1)="=";F1;IF(LEFT(F1;1)=">";F1;IF(ISNUMBER(F1);F1;"")))))&IF(LEN(G1)>2;"";IF(LEFT(G1;1)="<";G1;IF(LEFT(G1;1)="=";G1;IF(LEFT(G1;1)=">";G1;IF(ISNUMBER(G1);G1;"")))))&IF(LEN(H1)>2;"";IF(LEFT(H1;1)="<";H1;IF(LEFT(H1;1)="=";H1;IF(LEFT(H1;1)=">";H1;IF(ISNUMBER(H1);H1;"")))))&IF(LEN(I1)>2;"";IF(LEFT(I1;1)="<";I1;IF(LEFT(I1;1)="=";I1;IF(LEFT(I1;1)=">";I1;IF(ISNUMBER(I1);I1;""))))) & IF(LEN(J1)>2;"";IF(LEFT(J1;1)="<";J1;IF(LEFT(J1;1)="=";J1;IF(LEFT(J1;1)=">";J1;IF(ISNUMBER(J1);J1;""))))) & IF(LEN(K1)>2;"";IF(LEFT(K1;1)="<";K1;IF(LEFT(K1;1)="=";K1;IF(LEFT(K1;1)=">";K1;IF(ISNUMBER(K1);K1;""))))) & ";" & TRUE & ";" & FALSE & ")" 

我申請我的公式對M2細胞。 我複製我的M1和M2單元格後,我在N1中粘貼By Value。 我在N1和N2公式的開頭替換空白處,然後公式顯示結果。 讓我知道如果你有這個公式的問題,因爲我用Excel法語開發它。我會寄給你完整的文件。

相關問題