Skip to content

Handling a giant KakoBuy spreadsheet: find rows fast, remove duplicates by item ID and estimate how many are dead

Checked and updated .

Short answer: A 10,000-row KakoBuy spreadsheet is only usable once you filter it. Pull each marketplace item ID into its own column with REGEXEXTRACT, flag repeats with COUNTIF, then sort and filter by price and category. Open 20 random rows to estimate the dead share: 6 dead in 20 means anything from about 15% to 52% dead overall, so test a second sample before trusting the list.

A small slice of a very large photo index

These product photos come from repbuysheet.com, which has 10,000+ products to choose from. Each card opens its product page there with the full photo set and price; the selection changes every month.

Why a 10,000-row KakoBuy sheet is a search problem, not a shopping list

A headline row count tells you how much a compiler pasted in, not how much works. At 10,000 rows, nobody has re-opened every link this month, many rows are repeats of the same item, and the only way to use the list is to narrow it down fast. That is a data-handling job, and a spreadsheet can do most of it for you.

Three jobs matter, in order. First, find what you want. Second, remove duplicates so that you do not compare an item with itself. Third, measure how many of the remaining rows are dead, so you know how much of your shortlist will survive. Each job has a quick method below, and the formulas work in Google Sheets; where Excel differs, we say so.

For scoring the sheet as a whole, rather than handling its size, use the 9-point score. It ignores row count on purpose.

Treat a giant sheet as raw data: search, de-duplicate, then sample.

Search and filter tricks for a very large sheet

The fastest searches are on item IDs and price, not on names. Names vary by seller, language and spelling; a numeric item ID is the same everywhere.

Filter and search tricks for a large KakoBuy spreadsheet
GoalGoogle SheetsExcelWatch out for
Find a word or IDCtrl+F (Cmd+F on Mac); set Search to "All sheets"Ctrl+F, choose "Workbook" under WithinHidden or filtered rows are skipped by some views
Keep your view privateData > Filter views > Create new filter viewData > Filter on your own copyA normal filter changes the view for every collaborator in Sheets
Sort by priceSelect the price column, Data > Sort sheet A to ZData > Sort smallest to largestText prices such as "¥150" sort as text; strip the symbol first
Show only rows under a limitFilter view > Filter by condition > Less thanNumber Filters > Less ThanCheck the currency column before comparing yuan and dollars
Pull a clean shortlist=QUERY(A2:H,"select * where F < 150 order by F")Advanced Filter, or a copy and deleteColumn letters must match your sheet
Find by item IDCtrl+F on the ID column onlyCtrl+F with "Look in: Values"IDs stored as numbers may need a text version for search
Hide dead rows after testingAdd a "status" column, then filter out "dead"SameRecord the date you tested

Keep the original sheet untouched and work in a copy. If you are not the owner, use File > Make a copy, so that your sorts and deletions do not change the list for everyone else or break the owner's formulas.

Search by item ID, filter in a private view and work in a copy.

Remove duplicate rows by marketplace item ID

Large sheets duplicate heavily, because compilers merge several lists. Two rows with different titles and different links can still be the same Weidian item. The reliable key is the numeric ID in the marketplace link: id= on Taobao, itemID= on Weidian and offer/ on 1688.

Put the original marketplace link in column A, then extract the ID into column F. If your link sits inside a KakoBuy link, the ID may be percent-encoded (%3FitemID%3D), so the formula handles both forms:

F2: =IFERROR(REGEXEXTRACT(A2,"(?i)(?:[?&]|%3F|%26)(?:item)?id(?:=|%3D)(\d+)"),IFERROR(REGEXEXTRACT(A2,"offer/(\d+)"),""))

G2 (flag repeats): =IF(F2="","",IF(COUNTIF(F$2:F2,F2)>1,"dup",""))

Count of repeats: =COUNTIF(G2:G,"dup")

We tested the pattern against sample addresses: item.taobao.com/item.htm?id=123&x=1 returned 123, weidian.com/item.html?itemID=987 returned 987, a KakoBuy link with the encoded Weidian address returned 555, and an unrelated spuId=77 parameter returned nothing, as it should. The (?i) flag ignores capital letters, so itemID and itemId both match.

The COUNTIF in G2 only counts earlier rows, so the first copy of each ID stays unflagged and later copies show "dup". Delete the flagged rows, or filter them out. Before deleting, remember that one item ID often covers several sizes and colours. If your sheet has one row per option, repeated IDs are expected; compare the size column too, or you will delete valid rows.

In Excel, REGEXEXTRACT is a Google Sheets function, and older Excel versions do not offer it. Use Text to Columns on the link, or Find and Replace to strip the text before the ID, then Data > Remove Duplicates on the ID column. Our template page has more formulas for the same columns.

Extract the ID, flag repeats with COUNTIF, and check options before deleting.

A worked example: how much of a 10,000-row sheet is left

The figures below are hypothetical, to show the method, and were computed in Python. Imagine a downloaded sheet of 10,000 rows. After extracting IDs, the repeat flag marks 1,400 rows as repeats.

Distinct items: 10,000 − 1,400 = 8,600 (a 14% cut)

20-row random sample, opened through the marketplace link: 6 dead → 6 ÷ 20 = 30% dead

95% range for the whole sheet (Wilson interval): about 14.5% to 51.9%

Dead rows implied among 8,600: 8,600 × 14.5% ≈ 1,247 up to 8,600 × 51.9% ≈ 4,463

Point estimate: 8,600 × 30% = 2,580 dead, leaving about 6,020 live

The range is wide because 20 rows is a small sample. The same 30% from 40 rows (12 dead) would give about 18% to 45%, and the same 30% from 10 rows (3 dead) about 11% to 60%. If a decision depends on the dead share, take a second sample rather than trusting the first. Pick row numbers at random, not the first 20, because compilers tend to keep the top of a sheet freshest, which biases your estimate low.

A row is "dead" if the marketplace page is gone, the shop has vanished or the option you need no longer exists. Open the link through the marketplace first, then through KakoBuy, where a live row shows a yuan price and a shipping estimate. The row check CSV lists the full checklist.

20 sampled rows give a wide range; the true dead rate can sit far from the sample's 30%.

From 8,600 rows to a shortlist you can cost

Once duplicates are gone, shortlist by what you can actually ship. Filter by category, then price, then weight if the sheet has it. A giant sheet without a weight column cannot be costed row by row, and it is the usual reason shortlists blow past their budgets.

Suppose your final shortlist is five light garments weighing about 2,000 g in total, shipped to Canada in one parcel. The estimator listed these on 12 October 2026 at 2,000 g with no dimensions entered. The slower lines cost less per parcel; the faster ones cost more.

Canada, 2,000 g parcel: selected lines from KakoBuy's estimator (12 Oct 2026)
Line2,000 g quoteTransit as listedPer item (5 items)
Canada Sea Packet-F$29.4735-45 days$5.89
SAL$32.8735-45 days$6.57
Canada HD Line$39.967-18 days$7.99
Canada HG Line-H$42.135-20 days$8.43

Waiting vs speed: $39.96 − $29.47 = $10.49 more for HD over Sea Packet-F, which is $2.10 per item across five items

Transit saved: 35-45 days becomes 7-18 days, about 27 to 28 days sooner at the bounds

Per-item shipping is only a share; item prices and the ¥8 declaration fee come on top. For Canada's customs treatment, see the Canada page. KakoBuy's help pages say parcels over 10 kg are more likely to be treated as commercial, so keep an eye on total weight before a shortlist grows. Pay per order, parcel by parcel.

Shortlist by weight and line before you fall in love with a row.

A note on scale, and where the photos fit

Large catalogues are not unique to spreadsheets. The photo grid on this page uses repbuysheet.com, which has 10,000+ products to choose from, so a ten-thousand-item pool is a normal size for a photo index. The difference is that a photo index does not promise that every item still works. Your sample does.

Two habits keep a big list manageable. Record the test date next to every status, so you know how old a "live" label is. And paste surviving rows into the haul tracker CSV, which keeps the original and KakoBuy links side by side, with storage and return dates calculated from the arrival date. Pull fresh lists from places described on our Telegram, Beacons and Discord page rather than growing one sheet forever, and use the KakoBuy spreadsheet homepage for current finds with door quotes. Stuck with a big list? Message us through the QR code on the contact page.

Smaller, dated, tested lists beat bigger ones.

Questions buyers ask

How do I find one item in a 10,000-row KakoBuy sheet?

Press Ctrl+F (Cmd+F on a Mac) and search a distinctive word, or better, the marketplace item ID, which is unique to a listing. If the ID is not in its own column yet, add one with a REGEXEXTRACT formula first. Searching by ID finds the right row even when two sellers name an item identically, which a name search cannot do.

How can I tell whether the same item appears twice in a big sheet?

Extract the item ID from each link, then count it: in Google Sheets, COUNTIF(F$2:F2,F2)>1 flags every repeat after the first. In our hypothetical 10,000-row sheet, 1,400 repeats would leave 8,600 distinct items, a 14% cut. Rows with the same ID but a different size or colour may be intentional, so check before deleting.

Is a 10,000-row sheet better than a 300-row one?

Not by size alone. Row count says nothing about freshness, and a bigger sheet has more rows to go dead. A 300-row list updated last week can beat a 10,000-row list nobody has touched since spring. Use our 9-point score, which does not count rows, and open 10 to 20 random links to measure the dead rate.

How many rows should I open to estimate how many are dead?

Open at least 20, chosen at random. Six dead in 20 is a 30% sample rate, but with 20 rows the plausible range for the whole sheet is about 15% to 52%. Ten rows gives a wider band still, roughly 11% to 60% for three dead. A second sample of 20 narrows it to about 18% to 45% if the rate holds.

Why do Google Sheets formulas slow down on a huge KakoBuy list?

Because COUNTIF re-scans a column for every row, which grows quickly at 10,000 rows. Calculate item IDs once, then copy the column and paste values only, and use Data > Data cleanup > Remove duplicates on that column. Keep the formulas in a copy. That removes repeat calculations and leaves a plain sheet that filters instantly.

Does Excel work for a 10,000-row KakoBuy sheet?

Yes for sorting, filtering and COUNTIF, but REGEXEXTRACT is a Google Sheets function; older Excel versions do not have it. In Excel, use Data > Text to Columns on the link, or Find and Replace to cut the text before the ID, then Data > Remove Duplicates on the ID column. Check the result on five rows before applying it to all.