How to Analyze Instagram Followers in Excel
Build a reviewable Excel workbook from one Instagram follower export, verify its scope, create stable keys, flag duplicates, and summarize returned fields.
On This Page
The first useful Excel analysis of an Instagram follower export is a file audit—not an audience persona. Verify the source profile and Audience, preserve long IDs, build a stable key, flag duplicates, separate blank flags from false values, and record the row ceiling and terminal state beside every summary.
Use four worksheets:
Rawfor the untouched 14-column export;Analysisfor formula columns;Summaryfor reproducible counts;Readmefor the source profile, ceiling, confirmed rows, terminal state, date, format, and limitations.
This workflow analyzes one current file. It does not replace the two-file workflows for non-followbacks, historical changes, or common followers between profiles.
What one file can and cannot answer
Every result applies only to the rows in the file. If the run had a 1,000-row ceiling or ended partial, carry that boundary into every table and chart.
Understand the 14 columns
Instagram Follower Exporter writes the same column order to CSV and native XLSX. Duplicate removal by account ID is enabled by default, but you should still audit: IDs can be absent, settings can change, and username fallbacks can contain formatting differences.
Build the workbook
1. Import without damaging IDs
For XLSX, open the file and copy the original worksheet to Raw. For CSV, use Data → From Text/CSV and set id, pk, and username to Text before loading. Save a new analysis workbook and keep the downloaded original unchanged.
Copy the data to Analysis, convert it to an Excel Table, and name the table IGExport.
2. Create a stable key
Add stableKey:
=IF([@id]<>"",[@id],IF([@pk]<>"",[@pk],LOWER(TRIM([@username]))))Add keyStatus:
=IF([@stableKey]="","Missing key","Usable key")An ID is preferable. A username fallback remains reviewable, but usernames can change.
3. Flag duplicates before deleting anything
Add duplicateStatus:
=IF([@stableKey]="","Review",IF(COUNTIF(IGExport[stableKey],[@stableKey])>1,"Duplicate","Unique"))Filter Duplicate and review the rows. If you remove duplicates, do it only in the working copy. Microsoft distinguishes filtering unique values from removing duplicates: removal permanently deletes duplicate rows from the selected range.
4. Verify Audience and source profile
Put the expected Audience in Readme!B2—for example, followers—and the expected source handle in Readme!B3. Add scopeStatus:
=IF(AND([@audience]=Readme!$B$2,[@sourceProfile]=Readme!$B$3),"OK","Review")Stop and inspect any Review row before building a summary.
5. Add a review link
Add profileLink:
=IF([@profileUrl]="","",HYPERLINK([@profileUrl],[@username]))This helps manual review. It does not enrich a profile or grant permission to contact it.
6. Build reproducible Summary metrics
Calculate the share of usable-key rows explicitly returned as verified:
=IF(COUNTIF(IGExport[keyStatus],"Usable key")=0,0,COUNTIF(IGExport[isVerified],TRUE)/COUNTIF(IGExport[keyStatus],"Usable key"))Label it precisely: verified=true among usable-key rows in this file. It is not the verified rate of a complete account when coverage is bounded or partial, and it is not an account-quality score.
7. Generate a unique username list if useful
Microsoft 365 and newer dynamic-array versions support:
=UNIQUE(IGExport[username])Older versions can use Advanced Filter. Keep the raw file either way, and do not treat a unique username list as more stable than IDs.
Recheck the formulas with a small example
These rows are fictional and exist only to verify the workflow:
Expected audit: four usable-key rows, two rows marked Duplicate, two explicit isVerified=TRUE rows, and one blank verified value. Do not report 2/4 as a deduplicated verified share until the working copy has been reviewed and Summary recalculated.
Verification checklist
Before publishing any analysis:
scopeStatus=Reviewequals zero.- Readme records the ceiling, confirmed rows, and terminal state.
idandpkshow no scientific notation or lost trailing digits.- Duplicate handling occurred only in a working copy.
- True, false, and blank flags remain distinct.
- Every ratio states its denominator and unknown-value treatment.
- A partial run is labelled partial observed rows in tables and charts.
- Conclusions describe the current file only—never history, complete coverage, or causation.
Limits of this analysis
Each Web Tidy run handles Followers or Following for one target the current session can access, with a ceiling of 100, 200, 500, or 1,000 rows. A larger account produces a bounded subset. Partial and failed runs are not completed coverage, and task state must be recorded separately from the 14 output columns.
collectedAt is not a follow/unfollow timestamp. rowIndex is not rank. Blank relationship flags are unknown. The file contains no email, phone number, demographic attribute, or marketing permission, and the product does not enrich contacts, sync a CRM, or send outreach.
Frequently asked questions
Should I analyze CSV or XLSX?
Both have the same fields. XLSX opens directly; CSV requires careful Text typing for long IDs. Preserve the original either way.
Why check duplicates when removal is on by default?
Default deduplication uses account ID. Missing IDs, changed settings, or username fallbacks still justify an audit.
Can username be the unique key?
It can be a fallback, but it can change. Prefer id when present.
Does a blank isVerified mean false?
No. It means the source did not return a value.
Can one file show who does not follow me back?
No. That requires current Followers and Following files for the same profile.
Choose the next workflow
Create a bounded baseline with How to Back Up Instagram Followers and Following. For current non-followbacks, use Who Doesn't Follow You Back on Instagram. For changes between dates, use How to See Who Unfollowed You on Instagram. For two-profile overlap, use Common Followers Between Two Instagram Accounts.