Repeat formula until next occurrence in another cell - excel

I'm having troubles creating an Excel formula to repeat the same copy down a column until I come to a new "person". The reason I'm doing this is to Index(Match) later to grab all this data. If I am totally off, and there's an easier way to grab this data than run a formula down 15k rows, I'm all ears. The main problem is that my categorical data (Person) is stacked on top of the data that I want to match it with (Work Positions).
The data looks like this:
Description | Status
Bob | C
Sales |
Marketing |
Management |
John | C
Sales |
Management |
Tony | C
Management |
Ideally, I'd like the data to look like this after running the formula down ColA:
Person | Description | Status
Bob | Bob | C
Bob | Sales |
Bob | Marketing |
Bob | Management |
John | John | C
John | Sales |
John | Management |
Tony | Tony | C
Tony | Management
I've tried writing an If() statement to target the "C" in ColC, as it is always there to discern a change in "Person". However, I can't figure out how to do this as of yet. Is there a way to write a formula that says keep pasting the same value until you hit the next "C", then change your paste value? Thanks for any and all help and please, don't hesitate to ask any clarifying questions!

=IF(C:C="C",B:B,A1)
Put this in A2 and clear "Person" then drag down the list.

Related

Excel condense data

I have data in an excel spreadsheet in the form of
John | Age | 24
John | Location | Australia
John | Salary | $5000
Sue | Age | 28
Sue | Location | England
Sue | Salary | $6000
Is there an easy function to sort into a table along the lines of:
Name | Age | Location | Salary
John | 24 | Australia | $5000
Sue | 28 | England | $6000
Thanks in advance!
Use PowerQuery ...! Go to Data -> Get Data -> From File -> From Workbook and then follow these steps.
Rename first column to Name ...
Select Column2 and Pivot the data ...
Use these options in the pivot ...
Voila!
Select Close and Load to populate a new sheet ...
Result ...
Formula in F2 cell I used-
=INDEX($C$1:$C$6,MAX(($A$1:$A$6=$E2)*($B$1:$B$6=F$1)*(ROW($C$1:$C$6))))
If you have Excel-365 then you can use UNIQUE() function to E2 cell.
=UNIQUE(A1:A6)
=ROWS($A$6:A6)*3
=INDEX($A$6:$C$11;E6;1)
=INDEX($A$6:$C$11;(E6)-2;3)
=INDEX($A$6:$C$11;(E6)-1;3)
=INDEX($A$6:$C$11;E6;3)

Find data in other row from data in another row in excel spreadsheet

I have a spreadsheet like so:
| A | B | C |
|------|---|----------------|
| Bob | | Mary is Nice |
| Mary | | Tim is happy |
| Tim | | Bob is awesome |
and I'm trying to use Excel to find the name values in column A and match the content in column C and then match the output in column B like so:
| A | B | C |
|------|----------------|----------------|
| Bob | Bob is awesome | Mary is Nice |
| Mary | Mary is Nice | Tim is happy |
| Tim | Tim is happy | Bob is awesome |
I'm not sure if there is a formula that can find, match, and sort into column B out of the box. Or if I would need to write a macro. I've been looking and the only thing I can find so far is a match based of a specific value and move it into a seperate worksheet.
I can do this with PHP/MySQL, but that's not the intended result, obviously.
Also, maybe something easier to do within Google Sheets instead?
Use INDEX/MATCH with wild cards:
=INDEX(C:C,MATCH("*"&A1&"*",C:C,0))
OR
VLOOKUP:
=VLOOKUP("*"&A1&"*",C:C,1,FALSE)

How to Aggregate Strings Using Google Sheets Pivot Table Calculated Field

I have a Google spreadsheet in which I recorded text evaluations of various teams made by individuals. The sheet, named Data, looks like this
Col A Col B Col C
Rater | Team | Feedback
-------------------------
r1 Jim | A | Great
r2 Jane | A | Sucks
r3 Kate | A | Fabulous
r4 Jim | B | Mhm
r5 Jane | B | Wow
r6 Kate | B | Lousy
I am using the pivot table "Calculated field" option to generate a new table with an aggregation of the feedback for each team like this
Team | Feedback
A | Great, Sucks, Fabulous
B | Mhm, Wow, Lousy
I choose Column B as the option for Rows and for values I use a "calculated field" with the custom the formula CONCATENATE=('Data'!C:C). In Column Feedback I get all the entries for column C for all the teams, like this
Team | Feedback
A | Great, Sucks, Fabulous, Mhm, Wow, Lousy
B | Great, Sucks, Fabulous, Mhm, Wow, Lousy
How do I modify the Calculated Field formula to separate that feedback by team?

Average of multiple survey responses (columns)

I feel a bit embarrassed for asking this but here goes:
I'm using Excel 2010 and I have a worksheet containing 700+ customer satisfaction survey responses. Each row is a survey with a 1-5 or NA response to 5 questions. It looks like the following:
+-Agent--+--Q1--+--Q2--+--Q3--+
| | | | |
| Jeff | 5 | 5 | 5 |
+--------+------+------+------+
| James | 1 | 1 | 1 |
+--------+------+------+------+
| Jack | 5 | 5 | 5 |
+--------+------+------+------+
| Jeff | 3 | NA | 5 |
+--------+------+------+------+
| Jeff | NA | NA | 3 |
+--------+------+------+------+
| James | 5 | 5 | 5 |
+--------+------+------+------+
| ... | ... | ... | ... |
+--------+------+------+------+
I want to create a worksheet listing each agent in column A and the average of all of questions answered regarding them. I tried a formula like AVERAGEIF(SurveyResponses!A2:A7,A2,SurveyResponses!B2:D7) where A2 contains the agent's name, but it doesn't appear to work properly.
For example, I get a 5.00 average for some agents when it should be a 4.61. When I look in the Function Arguments screen for my AVERAGEIF on this person, it looks like it recognizes the values properly. The Average_rage shows {"NA","NA","NA","NA",1;5,5,5,5,5;5,... but the returned value below that says = 5 which is not right since there is a 1.
Can anyone guide me in the right direction?
AVERAGEIF works like SUMIF, the second range used is actually the same size and shape as the first range, starting with the top left cell, so when you use this
=AVERAGEIF(SurveyResponses!A2:A7,A2,SurveyResponses!B2:D7)
because the first range is a single column then the second range used must be too (there's a 1 to 1 relationship between the cells) so because the top left cell in SurveyResponses!B2:D7 is SurveyResponses!B2 the range begins there and is the same size and shape as SurveyResponses!A2:A7
....so you are actually getting this....
=AVERAGEIF(SurveyResponses!A2:A7,A2,SurveyResponses!B2:B7)
AVERAGEIF help does tell you that but it isn't very clear
If you want the ranges to be different sizes you need an "array formula" like this
=AVERAGE(IF(SurveyResponses!A2:A7=A2,SurveyResponses!B2:D7))
You need to confirm that with CTRL+SHIFT+ENTER so that curly braces appear around the formula in the formula bar. That formula will count any blanks as zeroes but ignore text values like NA
Easiest way to do this would be a pivot table. They look scary, but they're fairly easy to use. Rows = names, Columns = Q, Average for the answers.

excel merge rows based on column values

So I've been searching for the information I need and have not really been able to find a simple solution, though it seems like there should be one. Basically, I have the following
John | Doe | 123 Wallaby Ln | 00123 | | |
John | Doe | | 00123 | xxx | yy |
Jane | Doe | | 01234 | | zz |
Jane | Doe | bleep blop ln | | xx | |
And I need
John | Doe | 123 Wallaby Ln | 00123 | xxx| yy |
Jane | Doe | bleep blop ln | 01234 | xx | zz |
Basically pretty simple, I need to merge cells with the same Column 1 & Column 2 data to get as comprehensive and concise a list of data. You'd think this would be readily available through google as a simple formula but I have only found VBA solutions (I have never used VBA before, or macros for that matter so I'm not sure how to use them or fix errors in them). Any help is greatly appreciated.
Thanks in advance!
The easiest option is to merge the content of A & B in one column ( insert a new column in C)
C1 =A1&" "&B1
Roll down the formula
Sort per column C
Make sure you have descriptive name on row 1 to describe your column.
Select the complete table
Create a pivot table, drop the C column in the row section to obtain the list of unique name.
Copy the list of unique names in a new sheet
and then look at vlookupall describe here excel vlookup with multiple results to create your own function.

Resources