Draw a chart in excel based on a string appearance - excel

I have an excel file that contains 6 different sheets and every sheet contains some cells that there's text value inside them.
Now, I want to draw a chart that shows how many times a string was revealed in a larger string.
As much as I could find in google search, excel will draw charts based on numeric values,
So, I need to know is there a way that draw a chart based on text with my criteria?
Thanks in advance
UPDATE :
Assume that I have values like this:
And I need to know how many times a string appeared in B cells for every program.
And What if program name was in another sheet and string col was in someone else.?

No, Excel cannot chart anything based on text. You need numbers. In order to get these numbers you can apply different techniques, like formulas or VBA to analyse the text and produce the respective numbers. If you need more detail, provide more detail about your data.
Edit after question update: Consider this screenshot
the formula in C2 is
=ISNUMBER(SEARCH($G$1,B2))*1
The table in columns F and G is a pivot table with "Program" dragged to the rows area and "found" dragged to the values area and set to sum. This table can be used for charting.
If the program and the string are in two different sheets, you can still use formulas to construct a data source for the pivot table.

Related

Making excel search using one letter in cell

So basically, I have been trying to make excel scan one column and print out the row for cells which have specific letters.
For example I have the following data in my sheet.
What is required is to be have excel search for the values which contain T and I, and then print the new rows. Kind of like separate the two into two different tables, because then so that I can do further analysis on them.
So far I have been trying to use the VLOOKUP() function, but the problem with VLOOKUP() is that excel required a proper match and not just a letter in the cell. I had tried with both FALSE and TRUE. Then instead I tried to use the =INDEX($B$4:$K$9;MATCH($A$17;$A$5:$A$9;0);COLUMN(A4)) to make it work. But that also does not work, since it also requires a full match. Also another problem which I didn't realise before is that how can excel recognise each cell, because I will have different number after the letters everytime and then so how can one make excel not repeat the same row twice?
I have used another approach where I copy the data in a separated sheet and then I simply filter out the Ts and then copy/paste the Is into another sheet and vice versa. it is time consuming and so it would be much better if I can simply copy/paste my new data and it would generate the division on its own.
any suggestions or link would be really helpful.
UPDATE
I had a new idea on how to approach this problem. I was thinking that is it somehow possible to have VBA code running for filtering the data. Is there a way to specify in VBA code to filter the data by "Starts With" and Make the results be printed in another cell block?
Looks simple enough. First step is to make sure you have headers over your data and that it is in proper table format similar to my picture. Then select Data set and press CTRL+T. That should turn you data in to table object with stripes. Use the Formula =LEFT(C2,1) to take out the first letter which will be L or T.
Select the table and press ALT+D+P which will generate a pivot table based off original data set.
Drag the column with the formula I suggested over to the FILTERS area of the pivot table ID column to ROWS and all others to VALUES. Simply refresh and as new data is added you will get new pivot tables. Do not put the pivot tables on top of each other as I did that is only for the picture so you can see it. If you have too many filters to apply you can right click the helper column in the pivot table fields area to produce a slicer which is a button that helps you change the report quickly. Any other questions do ask.

EXCEL: Find instance among many by looking at adjacent column

I have a rather large excel sheet 20k+ rows. My excel document has three sheets named CM, PP, and CH.
CM only contains the Information I use.
PP is the public Information that contains ALL data.
CH is my change log.
What I'm trying to do is take the values from my CM sheet in Column A "CM(A)" and find them in the PP sheet Column A "PP(A)", then copy the found values from PP(A) and PP(F) "The sixth column over" to the third sheet CH(A) and CH(B).
This in of itself is rather simple, where I'm having a hard time is that sheet PP can contain multiple instances of the value in CM(A). The catch though is that I only need One of those specific values which is indicated by a value of "26" in column PP(B).
I just have no idea how to write the nested formula to make this happen.
Visual Goal of Formula
If you're unfamiliar with Array Formulas, you should definitely look into those as they are extremely helpful for tasks like this. You would need to use a conditional to test if the item occured more than once and then execute an INDEX-MATCH or VLOOKUP based on the results returned. I recreated your data structure and was able to achieve appropriate results using this formula in B1 of sheet CM:
=IF(COUNTIF(PP!A:A,A1)>1,INDEX(PP!F:F,MATCH(1,(PP!A:A=A1)*(PP!B:B=26),0)),VLOOKUP(A1,PP!A:F,6,FALSE))
Array formulas must be entered using Ctl+Shift+Enter, as is noted in the linked documentation.

Excel pivot converts text to zero when numbers in column

I am attempting to pivot some data using Excel; however, the text (non-numeric) values are being converted to zero (0). The format of the cells of the entire worksheet are in Text; I have tried other formats including all cells as General, and a variety of combinations involving both formats. The actual values (including both text and numeric) are visible when selecting the little down arrow that appears to the right of Value when the mouse-pointer hovers over it in the Fields Section to the right of the main field.
What must I do to get the text values to appear?
If there is no more than one value for each Group/Column pair, and if you have Excel 2010 or later, you can use Get & Transform or Power Query to Pivot the Name column and chose the Do Not Aggregatge option.
If you have multiple entries for each Group/Column pair, you will need a different solution.

Is it possible to get an excel chart with possibility to select the graphs to display?

I have several data in excel sheet and I wonder if its possible (through macros or something else) to select the data and display the series needed.
I'm not quite sure if I explained the situation correctly...
But I have multiple curves, and instead of plot the average curve or single curves, I would like to have the option to plot: curve 1, curve 2, curve 3, average curve...
Kind regards,
DNA
My preferred way to do this is with a combination of a couple of ideas. In general, Excel charts are easiest to maintain if they are looking at a simple range instead of complicated named ranges. Given this, I like to create a simple column of data for the chart and then use other Excel features to modify that column of data.
Note that the steps below are for a specific case of a block of data all on one sheet. There are a ton of variations that you can do to make this work for other configurations. The idea is simple: create a new column of data for the chart and use normal formulas to get the data there. You can make the x-axis a selector as well.
For the simple case of a common x-axis with varying series for the y-axis all in one block of data, I do these steps:
Start = block of data
Add a column header off to the side which will "drive" the selection. I like to make this a Data Validation drop down so that the selection is correct. I did this in G2, selecting the column headers as the Source.
With this in place, you can use the selection there to update the data in the column below it. A simple formula for doing this uses INDEX.
Formula in G3, copied down to end of data: =INDEX($C$3:$E$25,,MATCH($G$2,$C$2:$E$2,0))
This formula works by finding the column name in the list of column headers and returning that column of data. Since the row selection is blank ,,, it relies on the relative position of the cell which works since everything is lined up.
Once this is done, you can then create the chart simply using the date and the new column of data. It will respond to changes in the selector which works nicely. If you use the column G header as the series name, that will update too which is a good effect for free. Below is the chart showing the ranges it is using.

List of number of values in a range (Google Spreadsheets or Excel)

I asked a similar question a little while ago. I was basically just learning how to count the number of recurrences of a string in a range (using =COUNTIF()). I am now doing a very similar task, but I think it will be much more complex to solve.
So say for example I have a data set:
Gnar
Gnar
Anivia
Gnar
Sejuani
Malzahar
Malzahar
Malzahara
Sejuani
Gnar
(Yes I am doing a stats sheet for me and my team for League of Legends)
So I would like to ultimately have a pie chart or something with my percentage play of each champ (this will be a huge data set of 100's of games per year)
How can I have a pie chart or some other chart that shows the number of times each separate string appears in a range without me already having put it in.
If you need any clarification let me know!
Thanks,
William
PivotTables and PivotCharts will be your friends on this one...
Place those names in a column, let's say column A. It would be wise to insert a row header, I used Title in the my example.
Select the range, and do Insert > PivotTable. Once the PivotTable is created, drag Title (or whatever you named the header) down to Row Labels. Next drag Title again the Values section. Icing on the cake would be drag Title yet again, to Values and then click the second count column created in the PivotTable and elect for Show Values As > % of Column Total.
If you just want a bar chart, you can remove the percent column, click on the Pivot Table, and hit ALT+F1 to create a PivotChart. Although, you will probably want to apply some cleanup formatting to get the final result below.

Resources