My Bad. You did say 'chart', but somehow I read 'table'.
That said, seeing the source script helps a lot.
The first thing that stands out is I don't understand your handling of lists.
This line, specifically, makes no sense to me:
set cols to "{" & {cols} & "}"
This creates a text object consisting of the character { followed by a textual representation of whatever's in cols followed by the character }
To be clear, this is not a list, and the add chart command specifically calls for a list.
The same applies to your rownames variable. The script:
set rownames to "{" & {"Systolic" & "," & "Diastolic" & "," & "Pulse"} & "}"
Creates a text object with the specific characters:
{Systolic,Diastolic,Pulse}
This is not a list. this is just a string of characters.
To make a list in AppleScript with three items, you would write this as:
set rownames to {"Systolic", "Diastolic", "Pulse"}
This is an AppleScript list containing three text items, and this should be valid as the rownames parameter to the add chart command.
It's a common mistake, probably driven by your attempt to display the data before creating the chart:
display dialog {cols}
The textual representation of a list is not the same as AppleScript's internal representation.
Since I don't have your source data file, I can't run the entire script, but this looks more valid to me as far as managing lists is concerned:
use AppleScript version "2.4" -- Yosemite (10.10) or later
use scripting additions
tell application "Microsoft Excel"
tell sheet "Sheet1" of workbook 1
set commalist to {"A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Z"}
set final to 4
set cellvalue to (value of cell "A2")
set rownames to {"Systolic", "Diastolic", "Pulse"}
set finish to 25
set cols to value of cell "A2"
set cols to (month of cols as integer as text) & "/" & day of cols as text
repeat with i from 3 to finish
if value of cell ("A" & i) = "" then
exit repeat
end if
set celldata to (value of cell (item 1 of commalist & i))
set celldata to (month of celldata as integer) & "/" & day of celldata
set cols to cols & celldata
end repeat
end tell
end tell
tell application "Keynote"
activate
tell front document
tell current slide
set its transition properties to {transition effect:wipe, automatic transition:false, transition delay:0.5, transition duration:1.0}
add chart type vertical_bar_2d row names rownames column names cols
end tell
end tell
end tell
However, there's still nowhere in your script where you're putting any data into the chart, beyond the row and column labels. I suspect that's part of your intent here?