從網站複製/貼上時格式化 Excel 工作表

從網站複製/貼上時格式化 Excel 工作表

我正在嘗試建立一個資料庫這個網站。每個國家都有大量代理商,其姓名旁邊有詳細的聯絡資訊(不需要傳真號碼和公司名稱)。

問題是,由於網站的格式,當我將資料複製到 Excel 工作表中時,每個代理程式的資訊分佈在 3 或 4 行中。

我需要每個代理將他們的所有資訊放在一行中,

例如(括號中的儲存格)

[ A1 ]       [ B1 ]             [ C1 ]  [ D1 ]                     [ E1 ]  [ F1 ]
GRO Alberti  [email protected]  Bosnia  P Hora K2 A 8 41 Dhjetori  Girana  Tel:+42-79/379 82 86.

我嘗試手動複製貼上所有內容,但這需要很長時間。

有沒有任何自動或更快的方法來實現我想要做的事情?

答案1

如果你想使用Excel公式:

  • 將表格複製並貼上到 Excel 中
    • 前 2 列中的行將合併,但公式只能看到合併區域左上角儲存格中的值,其他儲存格對於公式顯示為空白
  • 假設資料從儲存格開始A2,請在儲存格中新增下列公式E2- 新行輸入方式為Alt+Enter
    =C2 & IF($A3<>"", "", " 
    " & E3)
  • 將公式複製到適當的範圍
  • 按列過濾Name,排除(Blanks)
  • 隱藏原始內容AddressOther info
  • 將特殊值複製並貼上到新工作表中

最後一步之前的解決方案圖示

底層演算法是:

  1. 從底行開始
  2. 如果Name第 1 行向下不為空,則建立S包含該行中的位址的新字串
    ,否則將該行中的位址中的文字新增至S
  3. 向上移動 1 行

答案2

我不確定您如何獲取 C1 的值,但您應該能夠獲取頁面的源代碼。為此,請按Ctrl+ U。這應該會給你一個用 html 寫的頁面。尋找第 128 行(或表開始的位置,那裡應該有您需要的數據,並且以<table class ....

複製所有內容,從<table class ...</table>位於同一行,靠近末尾。

將其貼到記事本中。

按一下Ctrl+H並使用查找內容:<br />取代為:「 」(一個空格),然後按一下全部取代。

複製所有內容並貼上到 Excel 中。之後您可以刪除格式以均勻單元格尺寸。

請注意,超連結將保留在資料中。

編輯:

將電子郵件、電話、手機和傳真分開會稍長一些,但不會那麼長。

若要取得電子郵件,請在 E2 的下一個儲存格中使用下列公式:

=LEFT(D2, FIND(" ",D2)-1)

並往下拉。

現在要取得數字,首先在 F 列中單獨取得所有數字會更容易:

=MID(D2, FIND(" ",D2)+1, LEN(D2))

現在,在 G 中,我們將獲得電話,在 H 中,我們將獲得傳真,在 I 中,我們將獲得手機。

在 G2 中,放置並向下拖曳:

=IFERROR(MID(F2,FIND("Tel:",F2)+4,IFERROR(FIND(":",F2,FIND("Tel:",F2)+4),LEN(F2))-FIND("Tel:",F2)-4),"")

在 H2 中,放置並向下拖曳:

=IFERROR(MID(F2,FIND("Fax:",F2)+4,IFERROR(FIND(":",F2,FIND("Fax:",F2)+4),LEN(F2))-FIND("Fax:",F2)-4),"")

在 I2 中,放置並向下拖曳:

=IFERROR(MID(F2,FIND("Mobile:",F2)+7,IFERROR(FIND(":",F2,FIND("Mobile:",F2)+7),LEN(F2))-FIND("Mobile:",F2)-7),"")

之後,複製所有內容並貼上為值以刪除公式。選擇 G 列到 I 列並透過+取代所有Tel,Fax和。MobileCtrlH

法國功能依上述順序排列:

=GAUCHE(D2, TROUVE(" ",D2)-1)

=STXT(D2, TROUVE(" ",D2)+1, NBCAR(D2))

=SIERREUR(STXT(F2,TROUVE("Tel:",F2)+4,SIERREUR(TROUVE(":",F2,TROUVE("Tel:",F2)+4),NBCAR(F2))-TROUVE("Tel:",F2)-4),"")

=SIERREUR(STXT(F2,TROUVE("Fax:",F2)+4,SIERREUR(TROUVE(":",F2,TROUVE("Fax:",F2)+4),NBCAR(F2))-TROUVE("Fax:",F2)-4),"")

=SIERREUR(STXT(F2,TROUVE("Mobile:",F2)+7,SIERREUR(TROUVE(":",F2,TROUVE("Mobile:",F2)+7),NBCAR(F2))-TROUVE("Mobile:",F2)-7),"")

相關內容