Geolocation of Google Compute Engine Servers? - geolocation

When creating a new instance, GCE cloud allows choosing among three regions: West Europe, Central US and Asia.
I'd like to know exactly where the instance is allocated, e.g., know the precise coordinates.
GeoLocation databases point all GCE-allocated IP addresses to Mountain View, CA (Google HQ). Is there a way to find out the correct exact location?

Based on ping times and traceroutes, I've made some educated guesses:
US Central 1: Oklahoma
Europe West 1: Ireland
Asia East 1: Changhua County, Taiwan

This page shows the physical locations of Google's datacenters: http://www.google.com/about/datacenters/inside/locations/index.html
But no precise information on which datacenter houses which GCE Zone.

These days, Google is giving a little more information, on this page:
https://cloud.google.com/compute/docs/regions-zones/
Region Zones Location
asia-east1 a, b, c Changhua County, Taiwan
asia-northeast1 a, b, c Tokyo, Japan
asia-south1 a, b, c Mumbai, India
asia-southeast1 a, b, c Jurong West, Singapore
australia-southeast1 a, b, c Sydney, Australia
europe-north1 a, b, c Hamina, Finland
europe-west1 b, c, d St. Ghislain, Belgium
europe-west2 a, b, c London, England, UK
europe-west3 a, b, c Frankfurt, Germany
europe-west4 a, b, c Eemshaven, Netherlands
northamerica-northeast1 a, b, c Montréal, Québec, Canada
southamerica-east1 a, b, c São Paulo, Brazil
us-central1 a, b, c, f Council Bluffs, Iowa, USA
us-east1 b, c, d Moncks Corner, South Carolina, USA
us-east4 a, b, c Ashburn, Northern Virginia, USA
us-west1 a, b, c The Dalles, Oregon, USA
us-west2 a, b, c Los Angeles, California, USA
They give the city, which is hopefully close enough. Now just get latitude / longitude from Google Maps or something for each city.

Related

Count phone number in Column C if only Column A has specific Location

I need to count how many phone numbers are associated with people who work at a specific location, only. Not all rows have a phone number, but I need the ones that DO have a phone number.
Location
Name
Phone
Location A
Person A
123-456-7891
Location B
Person B
123-456-7892
Location A
Person C
123-456-7893
Location A
Person D
Location C
Person E
123-456-7895
Location C
Person F
123-456-7896
Location B
Person G
123-456-7897
I have tried to use CountIfs and counta formulas but keep getting errors.
I've tried:
=countifs(A2:A8,"Location A",C2:C8,counta(C2:C8)) but I get back 0.
I get errors when I try different versions of it too.
Use-
=COUNTIFS(A2:A8,"1340 Ansin",C2:C8,"<>")
Or QUERY() function like -
=QUERY(A2:C,"select count(A) where A='1340 Ansin' and C is not null label count(A) ''",0)
you can collate the entire list as such using:
=BYROW(UNIQUE(FILTER(A2:A,A2:A<>"")),LAMBDA(z,{z,COUNTA(UNIQUE(FILTER(C:C,A:A=z)))}))

How do I extract just the addresses/locations from this data set and put them in column B and C in Google Sheets?

My data set looks like this and it's all in Column A going straight down with no deviation from this formatting:
Let's Pretend Parties
317 Jenkins St
Grapevine TX 76051 USA
Let's Pretend Parties
3000 Grapevine Mills Pkwy
Grapevine TX 76051 USA
Tip Toes Holland
60 E. 8th St
Holland MI 49423 USA
Tugboat and The Bird
318 Park Avenue North
Winter Park FL 32789 USA
Overall Fun
3429 West 7th St
Fort Worth TX 76107 USA
Bad Kitty Kids
255 96th St
Stone Harbor NJ 8247 USA
Is it possible to move the the address into column B? Is it possible to move the locations into Column C?
i.e.
Column A: Column B: Column C:
Let's Pretend Parties 317 Jenkins St Grapevine TX 76051 USA
Let's Pretend Parties 3000 Grapevine Mills Pkwy Grapevine TX 76051 USA
Or, if this isn't possible, to just move them to each of their own columns but lined up and I can manually delete blank spaces?
I'm totally at a loss on this as I'm a Google Sheets newbie.
Thanks!
I'm a complete noob to Google Sheets. I already tried googling solutions and tried using a query with skipping--but I couldn't get it to neatly line up and it kept doubling/tripling stuff from Column A.
Appreciate anyone who answers. Thank you so much!
try:
=QUERY(A1:A10; "skipping 3"; )
Another solution:
=ArrayFormula(XLOOKUP(SEQUENCE(ROUNDUP(COUNTA(A:A)/3),3),SEQUENCE(COUNTA(A:A)),FILTER(A:A,A:A<>""),))
try this out:
={QUERY(A:A, "SKIPPING 3"),QUERY({"";"";A:A},"SKIPPING 3 OFFSET 1"),QUERY({"";A:A},"SKIPPING 3 OFFSET 1")}

Sorting and removing non-duplicate rows in google sheet and keeping non-duplicate rows and duplicate rows

I am fairly new to Google sheets, and essentially what I am trying to do is remove all non-duplicate values that do not exist or is listed in another sheet or row - and also store the non-duplicate values somewhere else
In my example sheet here, I am trying to only keep the Alcohol names that are listed in column G
So in my case, I only want to keep the following records:
Alcohol Name Alcohol Type Origin
Martell Cognac France
Captain Morgans Rum Jamaica
Wray & Nephew Rum Jamaica
Hennessey Cognac France
Barcardi Rum Cuba
Courvoiser Cognac France
Famous Grouse Scotch Scotland
Jack Daniels Whisky USA
Grants Scotch Scotland
Ciroc Vodka France
I also want to keep any that did not appear in the list in a separate table like this:
Alcohol Name Alcohol Type Origin
Russian Standard Vodka Russia
Southern Comfort Bourbon USA
Ciroc Whisky France
At the moment I am having to manually check a longer list one by one and it is taking lot of time and my arm hurts..
If someone can please help me with sorting it such that it looks like this, would be great! I don't know if there are formulas we can use
Use this formula to only keep the Alcohol names that are listed in column G
=QUERY(A1:C," where A matches '"&TEXTJOIN("|",1,G2:G)&"' ",1)
To order them use
=QUERY(A1:C," where A matches '"&TEXTJOIN("|",1,G2:G)&"' order by A",1)
Use this to keep any that did not appear in the list in a separate table.
You see, you only put not in the formula
=QUERY(A1:C," where not A matches '"&TEXTJOIN("|",1,G2:G)&"' ",1)

Google Spreadsheets: How to query countries with max population by continent?

Let's say I have a table with the columns country, continent and population.
How can I use the QUERY function in Google Spreadsheets to select, for each continent, only the country with the highest population?
In regular SQL I think I'd use HAVING, but this doesn't seem to be an option here.
=SORTN(SORT(G:J,4,0),2^99,2,3,0)
SORT by population in descending order,if not done already
Remove Duplicates with SORTN
I suggest a helper column, say K with:
=if(maxifs(J:J,I:I,I2)=J2,"#","")
in K2 and copied down to suit, then:
=query(G:K,"select I,H,J where K is not NULL")
A couple of suggestions (both a bit long) where I've got Rank, Country and Continent in columns A, B and C (sorry it would have taken me too long to type in the populations)
To get a list in descending order of rank:
=ArrayFormula({unique(filter(C:C,C:C<>"")),
vlookup(Query(A:C,"select min(A) where A is not null group by C order by min(A) label min(A) 'Rank'"),A:C,2,false)})
To get a list in alphabetical order of continent:
=ArrayFormula({Query(A:C,"select C,min(A) where A is not null group by C label min(A) 'Rank'"),
vlookup(Query(A:C,"select min(A) where A is not null group by C label min(A) 'Rank'"),A:C,2,false)})
Although the list (I imagine) would go all the way down to Vatican City (pop about 1,000) most countries have at least several thousand inhabitants so I guess ties are pretty unlikely :-)
UPDATE - with population data
In QUERY method Select Continent, maximum of the population and need to group by Continent:
=QUERY(Countries,"select I, max(J) GROUP BY I",1)
This will return the below results from the table:
Continent max Population
Africa 173615345
Asia 1385566537
Australia 23342553
Europe 82726626
North America 320050716
South America 200361925

SUMIFs by only calculating unique values in another column

I currently have a table with five columns:
A = Campaign
B = Person
C = Opportunity Name
D = Total Cost of Campaign
E = Date
I'm trying to use =sumifs to calculate the amount in column D only if: (1) it matches the exact value in cell H2 to column A, (2) the date range, in column E, is greater than the value in cell I2, and (3) it removes duplicates based on value in column C (so you can't sum if value appears more than once).
Please refer to my data table (also attached) as reference:
Campaign Person Opportunity Name Total Cost of Campaign Date
A Bob Airbnb 5000 3/2/2017
B Jim Sony 10000 3/2/2017
B Jane Coca-Cola 10000 3/2/2017
C Jim Sony 200 3/2/2017
B Daniel Sony 10000 3/2/2017
B April Coca-Cola 10000 3/5/2017
How could I do this?
Thanks in advance for the help!
Try:
=SUM(
UNIQUE(
QUERY(A:E,"select C, D where A = '"&H2&"' and E > date '"&TEXT(H3,"YYYY-MM-DD")&"'")))
Query will cut first two conditions. Unique will remove duplicates:

Resources