A few tips and pieces of advice will help you get domain names from a list of URLs using Excel formulas. Two variations of the formula let you extract the domain names with and without www. regardless of the URL protocol (http, https, ftp etc. are supported). The solution works in all modern versions of Excel, from 2010 through 2016.
If you are concerned with promoting your web-site (like I am) or doing SEO at the professional level promoting clients' web-sites for money, you often have to process and analyze huge lists of URLs: Google Analytics reports on traffic acquisition, Webmaster tools reports on new links, reports on backlinks to your competitors' web-sites (which do contain a great lot of interesting facts ;) ) and so on, and so forth.
To process such lists, from ten to a million links, Microsoft Excel makes an ideal tool. It is powerful, agile, extendable, and lets you send a report to your client directly from an Excel sheet.
"Why is it this range, from 10 to 1,000,000?" you may ask me. Because you definitely don't need a tool to process fewer than 10 links; and you will hardly need any if you have over a million inbound links. I'd wager that in this case you'd already had some custom software developed especially for you, with a business logic specifically tailored for your needs. And it would be me who would peruse your articles and not the other way round :)
When analyzing a list of URLs, you often need to perform the following tasks: get domain names for further processing, group URLs by domain, remove links from already processed domains, compare and merge two tables by domain names etc.
5 easy steps to extract domain names from the list of URLs
As an example, let's take a snippet of ablebits.com's backlinks report generated by Google Webmaster Tools.
Tip: I'd recommend using ahrefs.com to timely spot new links to your own site and your competitors' web-sites.
- Add the "Domain" column to the end of your table.
We have exported the data from a CSV file, which is why in terms of Excel our data are in a simple range. Press Ctrl + T to convert them to an Excel table because it is far more convenient to work with.
- In the first cell of the "Domain" column (B2), enter the formula to extract a domain name:
- Extract the domain with www. if it is present in a URL:
=MID(A2,FIND(":",A2,4)+3,FIND("/",A2,9)-FIND(":",A2,4)-3)
- Omit www. and get a pure domain name:
=IF(ISERROR(FIND("//www.",A2)), MID(A2,FIND(":",A2,4)+3,FIND("/",A2,9)-FIND(":",A2,4)-3), MID(A2,FIND(":",A2,4)+7,FIND("/",A2,9)-FIND(":",A2,4)-7))
The second formula may seem too long and complex, but only if you didn't see truly long formulas. It's not without reason that Microsoft has increased the maximum length of formulas up to 8192 characters in new versions of Excel :)
The good thing is that we don't have to use either an additional column or VBA macro. In fact, using VBA macros to automate your Excel tasks is not so difficult as it may seem, see a very good article - how to create and use VBA macros. But in this particular case, we do not actually need them, it's quicker and easier to go with a formula.
Note: Technically, www is the 3rd level domain, though with all normal web-sites www. is just an alias of the primary domain. In the early days of the Internet, you could say "double u, double u, double u our cool name dot com" on the phone or in a radio advert, and everyone perfectly understood and remembered where to look for you, of course unless your cool name was something like www.llanfairpwllgwyngyllgogerychwyrndrobwyll-llantysiliogogogoch.com :)
You need to leave all other domain names of the 3rd level, otherwise you would mess up links from different sites, e.g. with "co.uk" domain or from different accounts on blogspot.com etc.
- Extract the domain with www. if it is present in a URL:
- Since we have a full-fledged table, Excel automatically copies the formula across all cells in the column.
Done! We have a column with extracted domain names.
In the next section you will learn how you can process a list of URLs based on the Domain column.
Tip: If you may need to edit the domain names manually at a later time or copy the results to another Excel worksheet, replace the formula results with values. To do this, proceed with the following steps:
- Click on any cell in the Domain column and press Ctrl+Space to select all the cells in that column.
- Press Ctrl + C to copy the data to Clipboard, then go to the Home tab, click the "Paste" button and select "Value" from the drop-down menu.
Processing a list of URLs using the Domain name column
Here you will find a few tips on further processing of the URL list, from on my own experience.
Group URLs by domain
- Click on any cell in the Domain column.
- Sort your table by Domain: go to the Data tab and click on the A-Z button.
- Convert your table back to a range: click on any cell in the table, go to the Design tab and click the "Convert to the range" button.
- Go to the Data tab and click the "Subtotal" icon.
- In the "Subtotal" dialog box, select the following options: At each change in: "Domain" use function Count and Add subtotal to Domain.
- Click OK.
Excel has created an outline of your data on the left hand side of the screen. There are 3 levels of the outline and what you see now is the expanded view, or level 3 view. Click number 2 in the upper left hand corner to display the final data by domains, and then you can click the plus and minus signs (+ / -) in order to expand / collapse the details for each domain.
Highlight the second and all subsequent URLs in the same domain
In our previous section we showed how to group URLs by domain. Instead of grouping, you can quickly color duplicate entries of the same domain name in your URLs.
For more details please see how to highlight duplicates in Excel.
Compare your URLs from different tables by domain column
You may have one or several separate Excel worksheets where you keep a list of domain names. Your tables may contain links that you don't want to work with, like spam or the domains you already processed. You may also need to keep a list of domains with interesting links and delete all other ones.
For example, my task is to color in red all domains that are in my spammer blacklist:
Not to waste much time, you can compare your tables to delete the unnecessary links. For full details, please read How to compare two Excel columns and delete duplicates
The best way is to merge two tables by domain name
This is the most advanced way and the one I personally prefer.
Suppose, you have a separate Excel worksheet with reference data for each domain you ever worked with. This workbook keeps webmaster contacts for link exchange and the date when your website was mentioned in this domain. There can also be types/subtypes of websites and a separate column with your comments like on the screenshot below.
As soon as you get a new list of links you can match two tables by domain name and merge the information from the domain lookup table and your new URLs sheet in just two minutes.
As a result you will get the domain name as well as the website category and your comments. This will let you see the URLs from the list you need to delete and those you need to process.
Match two tables by domain name and merge data:
- Download and install the latest version of Merge Tables Wizard for Microsoft Excel
This nifty tool will match and merge two Excel 2013-2003 worksheets in a flash. You can use one or several columns as the unique identifier, update existing columns in the master worksheet or add new from the lookup table. Feel free to read more about Merge Tables Wizard on our website.
- Open your URLs list in Excel and extract domain names as described above.
- Select any cell in your table. Then go to the Ablebits Data tab and click on the Merge Two Tables icon to run the add-in.
- Press the Next button twice and select your worksheet with the domains information as the Lookup Table.
- Tick the checkbox next to Domain to identify it as the matching column.
- Select what information about the domain you want to add to the URLs list and click Next.
- Press the Finish button. When the processing is over, the add-in will show you a message with the details of the merge.
Just a few seconds - and you get all information about each domain name at a glance.
You can download Merge Tables Wizard for Excel, run it on your data and see how useful it can be.
If you are interested to get a free add-in for extracting domain names and subfolders of the root domain (.com, .edu, .us etc.) from the URL list, simply drop us a comment. When doing this, please specify your Excel version, e.g. Excel 2010 64-bit, and enter your email address in the corresponding field (do not worry, it won't be displayed publically). If we have a decent number of votes, we will create such and add-in and I let you know. Thank you in advance!
51 comments
The formulas in the main article dont seem to work, it gives a '#value' error
Hi Max!
If you clarify which formula you are talking about and what data that formula worked with, I'll try to help you.
Maybe this article will be helpful: #VALUE error in Excel: causes and fixes.
"Senior Human Resources Manager
Complinity Technologies"
hello how to Split google sheet data if above both line in 1 cell, and i want to split 2nd line data in in other cell
Hello Arun,
If you work in Google Sheets, you will find the solution in this article.
Hello!
You can find the examples and detailed instructions here: How to split text string in Excel by comma, space, character or line break. You can also try using the new TEXTSPLIT function.
I need for example to get the FQDN removed from a list of servers:
Example:
host1.apple.com
host1.rc.apple.com
My results I want should be:
host1
host1.rc
How do I go about this?
Hello!
Replace the penultimate dot with the # character using the SUBSTITUTE function. Determine how many characters are before the # using the SEARCH function. Extract a string of the required length from the text with the LEFT function.
=LEFT(A1,SEARCH("#", SUBSTITUTE(A1,".","#",LEN(A1) - LEN(SUBSTITUTE(A1,".",""))-1))-1)
I forgot to add:
host1.apple.org results to host1 as well.
translate.google.com
biolink-me00009.pointblog.net
zionfvqia.pointblog.net
lukasxjllp.pointblog.net
multiplebiolinks18481.full-design.com
HI.After using the first formula, get the second level domain
How to extract the primary domain name?
as follows:
google.com
pointblog.net
full-design.com
Hello!
To extract the string after the first dot, use the MID function:
=MID(A1,SEARCH(".",A1)+1,50)
I hope my advice will help you solve your task.
brewery-equipment.vdobrew.com
Change:
vdobrew.com
Hi Alex,
I have few urls like http s://www.jadlog.com.br
www .focusenergia.com.br/, where it is not working.
Can we customize this as per our need? If yes can you just guide me through the same.?
Hello!
Your URLs already consist of one domain name. To get a clean domain name without www, use the MID function.
=MID(A2,SEARCH("www",A2)+4,50)
To extract the domain name from the text, you can use regular expressions. The following tutorial should help: Regex to extract domain.
how can i remove duplicates if multiple subdomains are repeated like blogspot, weebly, wordpress etc
In Google Sheet:-
select all the URLs and go to Data tab=>Data cleanup=>Remove duplicates
In Excel:-
when you go to Data Tab you will find Remove Duplicates.
Excellent. Many thanks!!
Amazing, thanks a lot
I need the same method using a formula to check if a domain name is valid or invalid
Please explain why do we need the "Starting_at" from 4 defined? I tried the formula without and it seems it works fine.
Thank you!
Great
Great formula and almost does the job except as a previous commenter posted, it returns an error where the domain is like this:-
"www.tesco.com"
rather than:-
"www.tesco.com/"
or
"www.tesco.com/sdfdsfsd"
I tried the suggestion above by Jim (comment 18) but again, this has the problem of leave http:// at the beginning. But I guess we can use column split tool in Excel to get rid of it but would be good if formula could include that too!
Thanks for the tutorial!
I need to remove also the subdomain, but this formula doesn't do that. Any ideas?
nice post
How to remove .com in last of the company name in this Formula =IF(ISERROR(FIND("//www.",A2)), MID(A2,FIND(":",A2,4)+3,FIND("/",A2,9)-FIND(":",A2,4)-3), MID(A2,FIND(":",A2,4)+7,FIND("/",A2,9)-FIND(":",A2,4)-7))
How to remove .com in last of the company name in is Formula =IF(ISERROR(FIND("//www.",A2)), MID(A2,FIND(":",A2,4)+3,FIND("/",A2,9)-FIND(":",A2,4)-3), MID(A2,FIND(":",A2,4)+7,FIND("/",A2,9)-FIND(":",A2,4)-7))
Hello ,
This is absolutely a great site , I appreciate all the effort .
I need a help now, Is there a macro to extract the exact Company Name from web, if we have a list of company domains as excel input please (especially when the domains look weird )?
Any help would be much appreciated .
Warm regards,
smsharie
Pieced this together to work with domains that end in slashes or not and then also strip the final slash if needed...
=IF(RIGHT(IF(ISNUMBER(SEARCH("/",AN2,9)),LEFT(AN2,SEARCH("/",AN2,9)),AN2),(LEN(IF(ISNUMBER(SEARCH("/",AN2,9)),LEFT(AN2,SEARCH("/",AN2,9)),AN2))-(LEN(IF(ISNUMBER(SEARCH("/",AN2,9)),LEFT(AN2,SEARCH("/",AN2,9)),AN2))-1)))="/",LEFT(IF(ISNUMBER(SEARCH("/",AN2,9)),LEFT(AN2,SEARCH("/",AN2,9)),AN2),(LEN(IF(ISNUMBER(SEARCH("/",AN2,9)),LEFT(AN2,SEARCH("/",AN2,9)),AN2))-1)),IF(ISNUMBER(SEARCH("/",AN2,9)),LEFT(AN2,SEARCH("/",AN2,9)),AN2))
Should have changed AN2 to A1 (or wherever your list of domains is), but you get the point.