Survey Data matrix (make sense of it)


(I can accept a solution to this question in either Access or Excel)

I have the attached data from a download off of a survey company.
The data is difficult to read.
I am trying to make sense of it.  
There is a total of 5 questions.
Each department has answered their assigned questions as either True or False.

I need to show in easy to read format the answers and comments for each Department.
If there is a Null then that means that the dept was not assigned that question.  

for example, the dept Project Finance was assigned Question 1 and Question 3 as those questions are the only ones out of 5 questions that this dept was assigned as there is a True or False for only those questions.    
I think that if you see the attached excel it will make more sense (hopefully) as describing it is a little difficult.

Please let me know how to present this data in a more easily read format.  
I tried a pivot but that doesnt seem to work.  

fyi:  I have truncated the data to only 5 questions.  The original data has hundreds of questions.  

thank you
pdvsaProject financeAsked:
Who is Participating?
GrahamMandenoConnect With a Mentor Commented:
Hello pdvsa

I'm sorry, I missed your previous response and so did not follow up in a more timely fashion.

Having looked at your sample spreadsheet, and given that there are "hundreds of questions",  your spreadsheet is not suitable for either linking or importing to an Access database, because it will have (2n+1) columns (where n is the number of questions) and an Access table has a limit of 255 columns (fields).

You will therefore need to use some VBA code and some Excel automation to import the data into Access.

I am going to make some assumptions:
Row 1 of your spreadsheet contains column headings; "Dept Name", "Question 1 : <Question 1 text>", "Question 1 Comments", "Question 2 : <Question 2 text>", "Question 2 Comments",  ... etc
Column A of your spreadsheet contains the department name
Columns B, D, F, H. etc contain either Null (if the question was not assigned) or the text "TRUE" or "FALSE", which is that department's response to question 1, 2, 3, 4, etc
Columns C, E, G, I, etc contains the comments (not required) pertaining to the answer on the left

What you need to do is use VBA code to:
Open the spreadsheet
Read row 1 and populate the Questions table with the question number and the question text
For each following row, read column A and populate the Departments table (if a record does not already exist), then for each following pair of columns, if the first column has a value then create a record in Responses with the DepartmentID, the QuestionNumber, the response, and the comment
To display the results, simply create an Access report based on a query joining all three of your tables.  Group the report by DepartmentName, and for each Responses record, list the question number, the text, the response and the comment.

-- Graham
Jeffrey CoachmanConnect With a Mentor MIS LiasonCommented:
how to present this data in a more easily read format.
"easy to read" may mean different things to different people...
To me, the data is already easy to read...
Can you post an example of your expected output?

For example:
Do you just want this data reformatted?
Do you want summaries?
Is this output to be fed to another system?
Is this output for presentation only, or do you want to allow edits?

The original data has hundreds of questions.
Two hundred is "hundreds, ...but 9 hundred is also "hundreds"
In Access you have a limit of 255 columns.
So you will have to give us a rough idea of how many Hundreds, (and will this number increase)

pdvsaProject financeAuthor Commented:
Jeff, an example:
          Question No and answer
           Question Comment
           Question No and answer
            Question Comment
The new generation of project management tools

With’s project management tool, you can see what everyone on your team is working in a single glance. Its intuitive dashboards are customizable, so you can create systems that work for you.

Gustav BrockConnect With a Mentor CIOCommented:
Are you sure you can't get the data in another format? Perhaps for a fee? The Excel sheet is certainly not the original format.

If you have more than 127 questions, you can't even link the sheet as is because of the field count limit of 255.
If so, you would have to create Named Ranges for groups of questions or all questions, and then link these - a big job to do either manually or by writing some code to create the Named Ranges.

I would have three tables - one for departments  (primary key DepartmentID), one for questions (primary key QuestionID), and one for Responses:
    ResponseID (autonumber primary key)
    ResponseDepartment (the department answering the question)
    ResponseQuestion (the question being answered)
    ResponseResult (the answer to the question - probably a numeric field to be interpreted as required)
    ResponseComment (a free-form text field)

Loading the database from the source spreadsheets is easy - it only requires a loop which generates an INSERT INTO SQL  statement to be executed for each question.

This method gives you all the advantages of a properly normalised database - notably ease of query design.

Graham Mandeno [Access MVP 1996-2015]
pdvsaProject financeAuthor Commented:
Graham, thank you.  I can conceptualize how to do what you describe.  My only issue is the LOOP code to partition the questions per each dept.  

Fyi: I do have a table with depts and a field [QuestionAssigned], number property.  I imagine this table is quite helpful in solving my issue.  However, linking this table is an issue as I see it because the only field that has a question number in the excel source data is the actual question (format is "Question #.  "Followed by the question").  I think if I could somehow break out the question number I can see a solution more clearly.

Maybe you or another expert has an idea how to break out the question number into a separate column or another idea if after reading my response.

Thank you
pdvsaProject financeAuthor Commented:
I think I am going to have to delete this question.  I will ask another.  I dont know what else to do.  I dont know how to make send of this report in access and possibly excel will work.  
I am not sure if some sort of  match/offsett in excel would work for this.  
I can not get the data in any other format from where I am getting it now (I want to avoid editing the data)

Let me know if there are any follow ups.
pdvsaProject financeAuthor Commented:
Graham, thank you.  That's a little out of my league to be frank with you.  I was thinking that maybe an excel formula with a combination of if and for each cell that is not null return the corresponding column heading.  Do you follow me?  Let me know thank you once again.
pdvsaProject financeAuthor Commented:
The IF statement would be for each row (ie Dept).
Gustav BrockCIOCommented:
Did you check this out:

> Are you sure you can't get the data in another format? Perhaps for a fee?
> The Excel sheet is certainly not the original format.

Jeffrey CoachmanMIS LiasonCommented:

In the end, ...I don't think there will be an *easy* way to "make sense" of this data.
What makes sense to one person, may be utterly confusing to another.

What Graham posted would be the way to go if you wanted to "Normalize" this data.

To me, I see creating some sort of Pivot/Summary.

Ultimately you will have to ask your superiors what they would like, then work form there.

pdvsaProject financeAuthor Commented:
GUSTAV, I will think about that.  I will know soon.
pdvsaProject financeAuthor Commented:
I dont have any objections.
Martin LissOlder than dirtCommented:
This question has been classified as abandoned and is closed as part of the Cleanup Program. See the recommendation for more details.
All Courses

From novice to tech pro — start learning today.