Importing Specific Cell Ranges from Excel to SAS
Importing Specific Cell Ranges from Excel to SAS, When working with Excel files in SAS, you may sometimes need to import only a specific set of cells rather than the entire dataset.
The PROC IMPORT statement provides a powerful way to do this, particularly with the use of the RANGE option.
Importing Specific Cell Ranges from Excel to SAS
In this article, we will explore how to import a specified range of cells from an Excel file into SAS, along with practical examples to illustrate the process.
Basic Syntax of PROC IMPORT with RANGE
To import a specific range of cells from an Excel file into SAS, you can use the following syntax:
/* Import data from Excel file called basketball_data.xlsx */
proc import out=my_data
datafile="/home/u13181/basketball_data.xlsx"
dbms=xlsx
replace;
getnames=YES;
range="Sheet1$C4:E11";
run;
Explanation of Each Line:
- out: This specifies the name you want to assign to the dataset once it is imported into SAS.
- datafile: This indicates the path to the Excel file you wish to import.
- dbms: This option denotes the type of file being imported, in this case, an Excel file in
xlsx
format. - replace: When specified, this option allows SAS to overwrite any existing dataset with the same name.
- getnames: Setting this to
YES
instructs SAS to use the first row of the selected range as variable names. - range: This option specifies which cells to import from the Excel sheet—for instance, “Sheet1$C4:E11” selects cells C4 through E11 on Sheet1.
In the above example, SAS will import only the data located within the range C4 to E11 of the specified Excel worksheet.
Practical Examples
Example 1: Import All Data from Excel without Specifying a Range
If you want to import the entire dataset from basketball_data.xlsx
without specifying a specific range, use the following syntax:
/* Import data from Excel file called basketball_data.xlsx */
proc import out=my_data
datafile="/home/u13181/basketball_data.xlsx"
dbms=xlsx
replace;
getnames=YES;
run;
/* View dataset */
proc print data=my_data;
In this case, since no range is defined, SAS will import all the data from the Excel sheet until it encounters an empty cell.
Example 2: Import Specific Data by Defining a Range
To import only a particular set of cells, you can use the RANGE option like this:
/* Import specific cells from Excel file called basketball_data.xlsx */
proc import out=my_data
datafile="/home/u13181/basketball_data.xlsx"
dbms=xlsx
replace;
getnames=YES;
range="Sheet1$C4:E11";
run;
/* View dataset */
proc print data=my_data;
In this example, SAS imports only the designated cells in the range from C4 to E11, allowing for more focused data management.
Using Named Ranges
You can also reference named ranges within your Excel file. For example, if the range C4:E11 is designated with the name “my_range,” the PROC IMPORT statement would look like this:
range="my_range"
This flexibility enables efficient handling of specific portions of your data depending on your analysis needs.

Conclusion
Utilizing the PROC IMPORT statement with the RANGE option simplifies the process of importing specific cell ranges from Excel into SAS.
This capability enhances your data management and analysis efforts by allowing you to focus only on the relevant data points.
Armed with the knowledge from the example provided, you can now import data more effectively, enabling streamlined analysis and better decision-making.
Happy importing!