Pag-alis ng mga walang laman na cell mula sa isang hanay

Pagbubuo ng problema

Mayroon kaming hanay ng mga cell na may data na naglalaman ng mga walang laman na cell:

 

Ang gawain ay alisin ang mga walang laman na cell, na nag-iiwan lamang ng mga cell na may impormasyon.

Paraan 1. Magaspang at mabilis

  1. Pagpili ng orihinal na hanay
  2. Pindutin ang susi F5, susunod na button I-highlight (Espesyal). Sa window na bubukas, piliin Walang laman na mga cell(Blanko) at i-click ang OK.

    Pag-alis ng mga walang laman na cell mula sa isang hanay

    Ang lahat ng mga walang laman na cell sa hanay ay pinili.

  3. Nagbibigay kami ng utos sa menu upang tanggalin ang mga napiling cell: i-right-click- Tanggalin ang mga cell (Tanggalin ang mga Cell) na may paitaas na shift.

Paraan 2: Array Formula

Upang pasimplehin, pangalanan natin ang aming mga working range gamit ang Pangalan ng Tagapamahala (Name Manager) tab pormula (Mga Formula) o, sa Excel 2003 at mas luma, ang menu Ipasok – Pangalan – Italaga (Ipasok — Pangalan — Tukuyin)

 

Pangalanan ang hanay na B3:B10 HaveEmpty, saklaw D3:D10 – Walang Walang laman. Ang mga saklaw ay dapat na mahigpit na magkapareho ang laki, at maaaring matatagpuan kahit saan na may kaugnayan sa bawat isa.

Ngayon piliin ang unang cell ng pangalawang hanay (D3) at ilagay ang nakakatakot na formula dito:

=IF(ROW() -ROW(NoEmpty)+1>NOTROWS(YesEmpty)-COUNTBLANK(YesEmpty);””;INDIRECT(ADDRESS(LOWEST((IF(Empty<>“”,ROW(Empty);ROW()) + ROWS(May mga Walang laman))); LINE()-ROW(No Empty)+1); COLUMN(May mga Walang laman); 4)))

Sa Ingles na bersyon ito ay magiging:

=IF(ROW()-ROW(NoEmpty)+1>ROWS(Empty)-COUNTBLANK(Empty),””,INDIRECT(ADDRESS(MALIIT((IF(Empty<>“”,ROW(Empty),ROW()) +ROWS(HaveEmpty))),ROW()-ROW(NoEmpty)+1),COLUMN(HaveEmpty),4)))

Bukod dito, dapat itong ilagay bilang isang array formula, ibig sabihin, pindutin pagkatapos i-paste Magpasok (gaya ng dati) at Ctrl + Shift + Enter. Ngayon ang formula ay maaaring kopyahin pababa gamit ang autocomplete (i-drag ang itim na krus sa kanang ibabang sulok ng cell) – at makukuha natin ang orihinal na hanay, ngunit walang mga cell na walang laman:

 

Paraan 3. Custom na function sa VBA

Kung may hinala na madalas mong ulitin ang pamamaraan para sa pag-alis ng mga walang laman na cell mula sa mga saklaw, pagkatapos ay mas mahusay na magdagdag ng iyong sariling pag-andar para sa pag-alis ng mga walang laman na cell sa karaniwang set nang isang beses, at gamitin ito sa lahat ng kasunod na mga kaso.

Upang gawin ito, buksan ang Visual Basic Editor (ALT + F11), magpasok ng bagong walang laman na module (menu Ipasok – Module) at kopyahin ang teksto ng function na ito doon:

Function NoBlanks(DataRange Bilang Saklaw) Bilang Variant() Dim N Bilang Long Dim N2 Bilang Long Dim Rng Bilang Range Dim MaxCells Bilang Long Dim Resulta() Bilang Variant Dim R Bilang Long Dim C Bilang Long MaxCells = Application.WorksheetFunction.Max( _ Application.Caller.Cells.Count, DataRange.Cells.Count) ReDim Result(1 To MaxCells, 1 To 1) Para sa Bawat Rng Sa DataRange.Cells Kung Rng.Value <> vbNullString Pagkatapos N = N + 1 Resulta(N, 1 ) = Rng.Value End If Next Rng For N2 = N + 1 To MaxCells Result(N2, 1) = vbNullString Next N2 If Application.Caller.Rows.Count = 1 Then NoBlanks = Application.Transpose(Result) Other NoBlanks = Resulta End If End Function  

Huwag kalimutang i-save ang file at bumalik mula sa Visual Basic Editor sa Excel. Upang gamitin ang function na ito sa aming halimbawa:

  1. Pumili ng sapat na hanay ng mga walang laman na cell, halimbawa F3:F10.
  2. Pumunta sa menu Ipasok – Function (Insert — Function)o mag-click sa pindutan Ipasok ang function (Insert Function) tab pormula (Mga Formula) sa mga mas bagong bersyon ng Excel. Sa kategorya Tinukoy ng Gumagamit (Tukoy ng User) piliin ang aming function Noblanks.
  3. Tukuyin ang source range na may voids (B3:B10) bilang function argument at pindutin Ctrl + Shift + Enterupang ipasok ang function bilang isang array formula.

:

  • Tinatanggal ang lahat ng walang laman na row sa isang table nang sabay-sabay gamit ang isang simpleng macro
  • Pag-aalis ng lahat ng walang laman na row sa isang worksheet nang sabay-sabay gamit ang PLEX add-on
  • Mabilis na punan ang lahat ng mga walang laman na cell
  • Ano ang mga macro, kung saan ilalagay ang macro code sa VBA

 

Mag-iwan ng Sagot