Excel Help - I want to replace multiple words in a paragraph to one single world and do this for 200 individual keywords - google-sheets

So I have a spreadsheet - https://docs.google.com/spreadsheets/d/16XLkjZafBSSdYZaSI9LLflOMvK40WgXsbrbE7Wqcwj8/edit?usp=sharing
Here is a basic sentence about football where I've written hottie 3 times.
"Hottie has taken the top spot in the Guardian's list of the world's top 100 footballers published today. See the full list and how it breaks down by nationality, club and position. An 11-strong international panel of hottie were asked by Guardian Sport to name their top 30 players in action today and rank them in order of preference. hottie were then scored on their ranking by each panellist: a No1 choice allocated 30pts, No2 29pts and so on down to selection No30, given one point."
Now, I have a list of 50 other players (Check the spreadsheet please)
How do I change the word hottie (all 3 times it's occuring) and replace it to the football player's name and do this for 50 of them automatically using this.
Please let me know, your response would be appreciated!!!
Thanks :)

Try :
=SUBSTITUTE(SUBSTITUTE(A2,"Hottie","hottie"),"hottie",B2)
Please share if it works/understandable/not.

Related

Is there a way of creating a data/info sorting system across sheets in Google Sheets?

So I am working on a Google Sheets project for a small business that I am going to be starting up. So I have Google sheet with 4 different sheets in it. Let me explain what each sheet is for:
1st sheet named "All Customers": This sheet will have a bunch of information about all the customers who are using our services (Name, Subject, Price, Location, Instructor).
The other 3 sheets are for the 3 instructors who would handle all the customers. The 3 instructors are Sam, Lucy, and Jason, and their Sheets are named Sam's Customers, Lucy's Customers, and Jason's Customers respectively.
I want a sorting system where I can put in the info of the customer in the "All customers" sheet and based on the instructor I assign to them, that customer's info gets sorted and appended into the assigned instructor's Sheet. SO here's an example:
Jordan who wants to learn math needs to pay $200 for tutoring by us. He is located in NY so I assign him to our instructor Lucy who resides in NY and can tutor him.
In this case, this is what the "All Customer" sheet would contain:
A B C D E
1 Name Subject Price Location Instructor
2 Jordan Math $200 NY Lucy
Now Based on the fact that Lucy was assigned as the instructor for Jordan, I want his select information to be added to the "Lucy's Customers" Sheet Like so:
A B C
1 Name Price Location
2Jordan $200 NY
That's what I'm trying to achieve. If Jordan was assigned Sam, the select information of Jordan would be added to the "Sam's Customer" sheet.
So I'd been at this for a while and based on my research I wasn't able to get anywhere. I was messing around with the following Formula: =IF(INDIRECT("All Customers!C1:C")="Lucy",INDIRECT("All Customers!A2:A")," ")
But I know this won't achieve what I'm doing.
Here is a link to the dummy spreadsheet for this project so anyone can mess around with it:
https://docs.google.com/spreadsheets/d/1TGS9thgt77DSLbOUC5V2tRyjrDqE9He5ET17bM7HhZU/edit?usp=sharing
The Query method works but it only mirrors the information. I have pre-made cells in the instructors' sheets where there are cells that record if the customers under that specific instructor has paid or not monthly. The query is basically mirroring the information instead of copy/pasting. So when I get rid of a customer or switch the instructor in the main record, it will disappear from under the respective instructor's sheet. If that's the case then the corresponding cells that record the monthly payments in the instructor's sheet will be messed up.
Any help would be appreciated. Thank You in advance!
I have introduced the queries in the sheet. Please have a look. The data can be retrieved using QUERY function of Google Sheets. example is given below
=QUERY('All Customers'!A:E,"SELECT A,C,D WHERE E CONTAINS 'Sam'",0).
Now, whenever you make new rows in "All Customers" sheet, data would automatically be updated in instructor sheet.
Hope it is clear.

How to reflect multiple cells based on specific criteria

Imagine a list on the left filled with employees going down the spreadsheet and headers across the top based categorized on infractions that an employee might violate. this sheet is connected to another sheet which adds a one every time a form is submitted against the employee adding up for the quarter. So employee john smith has across his row would show a 0 if he never committed this infraction and add a 1 to the column each time he did so a row might look like this. John Smith 0 4 5 0 1
The goal is to show the experts name and infraction with how many times this infraction took place removing the infractions that he did not commit so ideally it would look like John Smith 4 5 1 and the header of each number would show what he did.
The goal is to make it much easier to see who did what essentially. There will be over 100 employees and alot of 0's so optically it would look better to distill in order to quickly identify who did what and how many times.
Any ideas?
V lookups and important ranges based on if this is greater than 0 is tedious and does not exactly pull what we want. Essentially omitting the 0s and just showing what an employee has done rather than what they have not done is the goal. All index and match formulas do not seem to specifically answer this problem
simple Index V lookups and matching formulas have been tried
Not able to reflect all three variables (employee/frequency/infraction) while not showing on a master list the people who did not commit the offense
There's a few ways you could set this up. I would set this up so it
Column A = Employee
Column B = Infraction
Column C = 1
Column D = Date
That way you can do a pivot summary and have the employees, with their infractions below their name and the months/years they occurred. Also you can adjust this table as necessary, such as filter by the employee name or by date or by infraction.
The added benefit is you could create a chart with all of these as filters, like cutoff a date range or pick an employee or infraction and it can show a bar graph of all the infractions by month or something like that.
I would agree that listing your data of infractions line by line (as they happen) and using a pivot table would probably be the easiest.
You could also use the AGGREGATE function to pull from a large database as well. This way you could type in an employees name, and a list of all infractions would pop up next to the name (or wherever you would want it) with as much detail as you would like. This way is more complex, but using both a pivot table and the AGGREGATE function might get you the best of both worlds (you could searching infraction types, dates, employees, employee types, and get all the details in the world if wanted).
Hope this helps!
JW

Count total games played in a league standings template

I'm working in Google sheets
I've created a league standings template here:
https://docs.google.com/spreadsheets/d/1aTJsKkORRka1f4Z3Ibb87XGq-6Sv3qFaCYSsW8D3kHM/edit?usp=sharing
The last thing I'm really hung up on is calculating the amount of games that each team has played. Basically I need the G column to use the formula for each cell to see if the corresponding team has completed their games from the 'League Scores' table.
I currently have this formula:
=countif(filter($C4:$C, $B4:$B=$J$4), "<>") + countif(filter($D4:$D, $E4:$E=$J$4), "<>")
Each team could play on either side of the league score sheet throughout the season. So my logic is that the first 'countif' function would search through the first Team name column and Scores column to see if the team name was mentioned. If it was, it would then check to see if there was any score listed at all. If true, then it would add one to the Games played counter. The second half of the formula is to check the right side of the leagues team and score columns repeating the same process.
You can see however, that the 'GP' (games played) column lists an inaccurate amount of games played per team and even saying that teams which haven't yet played a game are at 2 games played.
What am I missing?
The extra count is coming from the case when the filter returns no rows and you get #N/A. The Countif still counts it as 1.
Suggest using Countifs instead, something like
=countifs(B:B,J4,C:C,"<>") + countifs(E:E,J4,D:D,"<>")

Google Sheets - Lookup - Multiple lookups, with IF and OFFSET's

I have a small club with my brothers that play golf, where we pay some money depending on how well our rounds go.
When we are done, I enter the scores, fairway hits and putts into a sheet that looks like the one I have attached below.
The Tee Club - Scorecard Sheet
Now, what I am trying to make is a statistics sheets that calculates our average fairway hits, putts etc..
I have that figured out.
But my problem is how to access the data with a formula that I can use for all of us, without having to make too many changes every time. If that makes sense..
Anyway, so far I have this formula:
=IF((OFFSET(HLOOKUP("Mikkel";E3:P28;5;False);0;1;1;1))<=0;"";OFFSET(HLOOKUP("Mikkel";E3:P28;26;False);0;1;1;1))
As it is right there, it searches for "Mikkel" in E3:P28, goes down 5, checks if it's blank or not, if not, it shows the value in F28.
All of this is perfect, except I would like to include a search for "Match 1" and then be able to find the same cell (F28) within that area, but if I change "Match 1", to "Match 2", it should lookup the value of W28 (I know that area is called "Turnering: Februar", but I'll change it). It will contain a total of 18 scorecards listed below and not only those 2 you see on the image.
I'm not quite sure how to explain what I want in any other way, so I really hope that someone can help me..
Let me know if you need more information.
Thanks in advance.
// Mikkel Christensen
Edit: Link for the sheet: https://drive.google.com/open?id=1SFckCG_df4s60JeuS-g-PfKHv9gq2I1b_SI_lP3mDS0

UX Solution for Potential Activity Stream Spam

My app implements an activity stream for different types of activities. One of the activity types is related to the different virtual currency a user can accumulate. For example, a user can accumulate "Points" for posting a comment, voting on a topic, etc. If I were to do no filtering or aggregating, you would get a lot of self-generating spam over the course of a mere hour, for example:
Earned 5 points for commenting (total points = 505)
Earned 10 points for voting (total points = 515)
Earned 5 points for commenting (total points = 520)
Earned 5 points for commenting (total points = 525)
Earned 5 points for commenting (total points = 530)
Earned 10 points for voting (total points = 540)
Earned 10 points for voting (total points = 550)
Earned 10 points for voting (total points = 560)
...
...
...
How would you go about preventing this potential for self-generating spam but also present the stream of activities in such a way that invites your friends to see what you've been doing?
I can think of a couple options. The first being an aggregation of the data. I don't know how many activity types you have, but you could distill what you have posted down to 2 items:
<Name> made <x> comments and scored <x * 5> points!
<Name> voted on <x> things.
You could make each of these list items clickable to expand and show the details. So, after a click on the summary of comments user would see this:
<Name> made <x> comments and scored <x * 5> points!
Earned 5 points for commenting (total points = 505)
Earned 5 points for commenting (total points = 520)
Earned 5 points for commenting (total points = 525)
Earned 5 points for commenting (total points = 530)
<Name> voted on <x> things.
You could use something like jQuery UI accordion to implement this.
The approach Facebook takes is that it uses a sample post and then lets users know that more items are available, like this:
Earned 5 points for commenting (total points = 505)
Made <x> more comments
Then when the user clicks on the "Made <x> more comments" the user can see every comment (within a certain span of time).
Presuming you want to see in one glance if the user was recently active and how recent, I would propose something like the following:
I am not sure where you would want to show this, but maybe in the profile-page, or in the list of "friends". I would show an aggregation, that would show the most recent time-frame the user was active, and what she did:
E.g.
has just commented on
has made comments and votes in the last hour
has made comments and votes today
has made comments and votes this week
And you would only show the most recent of those. So if a user has just commented (within the last five minutes), show the first line. If she was active in the last hour, show the second line. And so on ...
This clearly shows the user was active and how long ago. I think that is the most important.
You could combine this with showing the total score, showing how active the user was overall.
Maybe something like:
<name>[<total_score>] has just commented on <x>
or
<name>[<total_score>] has made <x> comments and <y> votes in the last hour.
Mmmmmm i want the message to be shorter:
<name>[<total_score>] has earned <x> points in the last hour.
Is that clearer? Not sure.
This message would then be clickable, and that would link you to a pop-up chart/graph showing the activity (votes/comments/points) over the last week/month. A chart because it is very compact and very understandable.
What do you think?
I'd personally go with an alert like Stack Uses for instant notification of immediate activities. They quickly alert and then get out of the way. If you make them clickable, the user can drill down for detail if they like.
Then, somewhere like in an account section, I'd list all activities using jQuery DataTables, so they could be sorted, paged, filtered, and delivered via pipelined Ajax. Simple, efficient, and user friendly!
UI is about commonality, making a user feel comfortable in an environment they haven't already been by presenting familiar interactions. You'll see this same pattern used on sites like StackOverflow, Swagbucks, MyPoints, etc.

Resources