2016-08-02 94 views
0

你好,我想用Excel公式定義一個目標(例如)爲每個路徑,就像我在下面的圖片。Excel公式來定義路徑

如果Excel在B列,它是關於文件夾中找到:SourceFolder,它將從D1複製單元格,並添加文件, 否則,如果它找到該文件夾​​:目標,這將複製單元格D2

我不知道如何用excel來定義它。 你能幫我解決這個問題嗎?

這個的目的是保存在最後。所以我可以做一個宏從源頭去目的地。 Example

+0

使用VBA而不是公式可能會更容易。它需要**成爲一個公式嗎? – YowE3K

+0

我應該在公式中做 – JeanLo

+0

在B列中搜索的單詞是否總是「SourceFolder」和「Destination」? – YowE3K

回答

2
=IF(IFERROR(FIND("\SOURCEFOLDER\",UPPER(B4)),0)>0,$D$1&TRIM(MID(B4,FIND("\SOURCEFOLDER\",UPPER(B4))+13,9999)),$D$2&TRIM(MID(B4,FIND("\DESTINATION\",UPPER(B4))+12,9999))) 

上述公式將第一測試,以查看是否「\ SOURCEFOLDER \」源字符串中存在。 (即使用戶不使用正確的大小寫,我也使用大寫字母來確保匹配。)那就是IFERROR(FIND("\SOURCEFOLDER\",UPPER(B4)),0)>0

如果「\ SOURCEFOLDER \」 存在,它抓住一切從「\ SOURCEFOLDER \」開始的第13個字符後(即從最後一個「\」起),並追加到$ D $ 1那是$D$1&TRIM(MID(B4,FIND("\SOURCEFOLDER\",UPPER(B4))+13,9999))

如果「\ SOURCEFOLDER \」 不存在,我認爲它必須包含「\目標\」,所以從「\目標\」開始的12字符並追加後的最後一部分抓住一切它到$ D $ 2。那是$D$2&TRIM(MID(B4,FIND("\DESTINATION\",UPPER(B4))+12,9999))

+0

通過那個和我們交談:) –

+1

@GaryEvans - 我試圖添加一些解釋,但我永遠不知道如何簡單或詳細要得到。讓我知道如果我需要更多的解釋,我會把這三個部分分解成更多細節。 – YowE3K

+0

我不確定。如果粘貼到例如您的OP顯示「=」的單元格C4中,該公式應該可以工作。我希望你會根據需要複製到列C中的其他單元格。但是,即使你把它粘貼到其他地方,只要單元格B4包含單詞「\ SOURCEFOLDER \」或「\ DESTINATION \」,它應該給出一個有效的結果。我不確定我是否明白你的意思是'將此字符串顯示爲false:「\ SOURCEFOLDER \」'。 – YowE3K