Skip to main content

Conas gach teaglaim atá cothrom le suim áirithe a fháil in Excel?

Is dúshlán é go leor úsáideoirí Excel a fháil amach gach teaglaim uimhreacha a d’fhéadfadh a bheith laistigh de liosta a chomhlíonfaidh suim shonrach, cibé acu chun críocha buiséadaithe, pleanála nó anailíse sonraí.

Sa sampla seo, tá liosta uimhreacha againn, agus is é an cuspóir a aithint cé na teaglamaí ón liosta seo a bhfuil suim suas le 480 iontu. Léiríonn an seat scáileáin a cuireadh ar fáil go bhfuil cúig ghrúpa féideartha de chomhcheangail a bhaineann an tsuim seo amach, lena n-áirítear teaglaim mar 300+120 +60, 250+120+60+50, i measc daoine eile. San Airteagal seo, déanfaimid iniúchadh ar mhodhanna éagsúla chun na teaglamaí sonracha uimhreacha a aimsiú laistigh de liosta a thugann luach ainmnithe iomlán in Excel.

Faigh teaglaim uimhreacha atá cothrom le suim tugtha le feidhm Réitigh

Faigh gach teaglaim uimhreacha cothrom le suim tugtha

Faigh gach teaglaim d'uimhreacha a bhfuil suim acu i raon le cód VBA


Faigh teaglaim cealla atá comhionann suim tugtha le feidhm Réitigh

D'fhéadfadh go mbeadh cuma scanrúil ar thumadóireacht isteach in Excel chun teaglamaí cille a thagann suas le huimhir shonrach a fháil, ach cuireann an Breiseán Réitigh an ghaoth é. Siúlfaimid tú trí na céimeanna simplí chun Réititheoir a bhunú agus an meascán ceart de chealla a aimsiú, rud a fhágann go mbeidh tasc casta simplí agus indéanta.

Céim 1: Cumasaigh Breiseán Réitigh

  1. Le do thoil téigh go dtí Comhad > Roghanna, I Roghanna Excel dialóg, cliceáil Add-orlach as an phána chlé, ag ansin, cliceáil Go cnaipe. Féach an pictiúr:
  2. Ansin, an Add-orlach dealraitheach dialóg, seiceáil an Breiseán Réitigh rogha, agus cliceáil OK chun an breiseán seo a shuiteáil go rathúil.

Céim 2: Iontráil an fhoirmle

Tar éis duit an breiseán Réitigh a ghníomhachtú, ní mór duit an fhoirmle seo a chur isteach sa chill B11:

=SUMPRODUCT(B2:B10,A2:A10)
nótaí: San fhoirmle seo: B2: B10 is colún de chealla bána in aice le do liosta uimhreacha, agus A2: A10 an liosta uimhreacha a úsáideann tú.

Céim 3: Cumraigh agus rith Réiteach chun an toradh a fháil

  1. cliceáil Dáta > Réiteoir dul go dtí an Paraiméadar Réitigh bosca dialóige, sa dialóg, déan na hoibríochtaí seo a leanas le do thoil:
    • (1.) Cliceáil cnaipe chun an cill a roghnú B11 áit a bhfuil do fhoirmle suite ó na Socraigh Cuspóir alt;
    • (2.) Ansin sa Chun alt, roghnaigh Luach As, agus cuir isteach do spriocluach 480 de réir mar is gá duit;
    • (3.) Faoin Trí Chealla Athraitheacha a Athrú alt, cliceáil le do thoil cnaipe chun an raon cille a roghnú B2: B10 áit a mharcálfaidh d’uimhreacha comhfhreagracha.
    • (4.) Ansin, cliceáil Cuir cnaipe.
  2. Ansin, an Cuir Srianta leis Tá bosca dialóige ar taispeáint, cliceáil cnaipe chun an raon cille a roghnú B2: B10, agus roghnaigh bin ón liosta anuas. Ar deireadh, cliceáil OK cnaipe. Féach an pictiúr:
  3. sa Paraiméadar Réitigh dialóg, cliceáil an Réitigh cnaipe, roinnt nóiméad ina dhiaidh sin, a Torthaí Réitigh Tá an bosca dialóige popped amach, agus is féidir leat a fheiceáil ar an meascán de chealla atá comhionann suim tugtha 480 marcáilte mar 1 i gcolún B. Sa Torthaí Réitigh dialóg, roghnaigh le do thoil Coinnigh Réiteach Réitigh rogha, agus cliceáil OK chun an dialóg a fhágáil. Féach an pictiúr:
nótaí: Tá teorannú ag baint leis an modh seo, áfach: ní féidir leis ach teaglaim amháin de chealla a chuireann suas leis an tsuim shonraithe a aithint, fiú má bhíonn teaglaim bhailí iolracha ann.

Faigh gach teaglaim uimhreacha cothrom le suim tugtha

Ligeann iniúchadh a dhéanamh ar chumais níos doimhne Excel duit gach teaglaim uimhreach a mheaitseáil le suim shonrach, agus tá sé níos éasca ná mar a shílfeá. Taispeánfaidh an chuid seo dhá mhodh duit chun gach teaglaim d’uimhreacha atá comhionann le suim tugtha a fháil.

Faigh gach teaglaim uimhreacha comhionann le suim tugtha le Feidhm Shainithe Úsáideora

Chun gach teaglaim uimhreacha a d’fhéadfadh a bheith ann ó thacar ar leith a shroicheann le chéile luach tugtha a nochtadh, feidhmíonn an fheidhm shaincheaptha a leagtar amach thíos mar uirlis éifeachtach.

Céim 1: Oscail an eagarthóir modúl VBA agus cóipeáil an cód

  1. Coinnigh síos an ALT + F11 eochracha in Excel, agus osclaíonn sé an Microsoft Visual Basic d’Fheidhmchláir fhuinneog.
  2. cliceáil Ionsáigh > Modúil, agus greamaigh an cód seo a leanas i bhFuinneog an Mhodúil.
    Cód VBA: Faigh gach teaglaim uimhreacha cothrom le suim tugtha
    Public Function MakeupANumber(xNumbers As Range, xCount As Long)
    'updateby Extendoffice
        Dim arrNumbers() As Long
        Dim arrRes() As String
        Dim ArrTemp() As Long
        Dim xIndex As Long
        Dim rg As Range
    
        MakeupANumber = ""
        
        If xNumbers.CountLarge = 0 Then Exit Function
        ReDim arrNumbers(xNumbers.CountLarge - 1)
        
        xIndex = 0
        For Each rg In xNumbers
            If IsNumeric(rg.Value) Then
                arrNumbers(xIndex) = CLng(rg.Value)
                xIndex = xIndex + 1
            End If
        Next rg
        If xIndex = 0 Then Exit Function
        
        ReDim Preserve arrNumbers(0 To xIndex - 1)
        ReDim arrRes(0)
        
        Call Combinations(arrNumbers, xCount, ArrTemp(), arrRes())
        ReDim Preserve arrRes(0 To UBound(arrRes) - 1)
        MakeupANumber = arrRes
    End Function
    
    Private Sub Combinations(Numbers() As Long, Count As Long, ArrTemp() As Long, ByRef arrRes() As String)
    
        Dim currentSum As Long, i As Long, j As Long, k As Long, num As Long, indRes As Long
        Dim remainingNumbers() As Long, newCombination() As Long
        
        currentSum = 0
        If (Not Not ArrTemp) <> 0 Then
            For i = LBound(ArrTemp) To UBound(ArrTemp)
                currentSum = currentSum + ArrTemp(i)
            Next i
        End If
     
        If currentSum = Count Then
            indRes = UBound(arrRes)
            ReDim Preserve arrRes(0 To indRes + 1)
            
            arrRes(indRes) = ArrTemp(0)
            For i = LBound(ArrTemp) + 1 To UBound(ArrTemp)
                arrRes(indRes) = arrRes(indRes) & "," & ArrTemp(i)
            Next i
        End If
        
        If currentSum > Count Then Exit Sub
        If (Not Not Numbers) = 0 Then Exit Sub
        
        For i = 0 To UBound(Numbers)
            Erase remainingNumbers()
            num = Numbers(i)
            For j = i + 1 To UBound(Numbers)
                If (Not Not remainingNumbers) <> 0 Then
                    ReDim Preserve remainingNumbers(0 To UBound(remainingNumbers) + 1)
                Else
                    ReDim Preserve remainingNumbers(0 To 0)
                End If
                remainingNumbers(UBound(remainingNumbers)) = Numbers(j)
                
            Next j
            Erase newCombination()
    
            If (Not Not ArrTemp) <> 0 Then
                For k = 0 To UBound(ArrTemp)
                    If (Not Not newCombination) <> 0 Then
                        ReDim Preserve newCombination(0 To UBound(newCombination) + 1)
                    Else
                        ReDim Preserve newCombination(0 To 0)
                    End If
                    newCombination(UBound(newCombination)) = ArrTemp(k)
    
                Next k
            End If
            
            If (Not Not newCombination) <> 0 Then
                ReDim Preserve newCombination(0 To UBound(newCombination) + 1)
            Else
                ReDim Preserve newCombination(0 To 0)
            End If
            
            newCombination(UBound(newCombination)) = num
    
            Combinations remainingNumbers, Count, newCombination, arrRes
        Next i
    
    End Sub
    

Céim 2: Cuir isteach an fhoirmle saincheaptha a fháil ar an toradh

Tar éis duit an cód a ghreamú, dún an fhuinneog cód chun dul ar ais go dtí an bhileog oibre. Cuir an fhoirmle seo a leanas isteach i gcill bhán chun an toradh a aschur, agus ansin brúigh Iontráil eochair chun gach teaglaim a fháil. Féach ar an scáileán:

=MakeupANumber(A2:A10,B2)
nótaí: San fhoirmle seo: A2: A10 is an liosta uimhreacha, agus B2 is é an tsuim iomlán is mian leat a fháil.

Leid: Más mian leat na torthaí teaglaim a liostú go ceartingearach i gcolún, cuir an fhoirmle seo a leanas i bhfeidhm le do thoil:
=TRANSPOSE(MakeupANumber(A2:A10,B2))
Na teorainneacha an modh seo:
  • Ní oibríonn an fheidhm shaincheaptha seo ach in Excel 365 agus 2021.
  • Tá an modh seo éifeachtach go heisiach do uimhreacha dearfacha; déantar luachanna deachúla a shlánú go huathoibríoch go dtí an tslánuimhir is gaire, agus beidh earráidí mar thoradh ar uimhreacha diúltacha.

Faigh gach teaglaim uimhreacha cothrom le suim tugtha le gné chumhachtach

I bhfianaise teorainneacha na feidhme thuasluaite, molaimid réiteach tapa agus cuimsitheach: Kutools le haghaidh Excel's Déan suas Uimhir gné , atá comhoiriúnach le haon leagan de Excel. Is féidir leis an rogha eile seo uimhreacha dearfacha, deachúlacha, agus uimhreacha diúltacha a láimhseáil go héifeachtach. Leis an ngné seo, is féidir leat gach teaglaim atá comhionann le suim ar leith a fháil go tapa.

Leideanna: Chun é seo a chur i bhfeidhm Déan Uimhir gné, ar dtús, ba chóir duit a íoslódáil Kutools le haghaidh Excel, agus ansin an ghné a chur i bhfeidhm go tapa agus go héasca.
  1. cliceáil Kutools > Ábhar > Déan Uimhir, féach ar an scáileán:
  2. Ansin, sa Déan suas uimhir bosca dialóige, cliceáil le do thoil cnaipe chun an liosta uimhreacha a theastaíonn uait a úsáid as an Sonraí Foinse, agus ansin cuir an uimhir iomlán isteach sa Suim Bosca téacs. Ar deireadh, cliceáil OK cnaipe, féach ar an scáileán:
  3. Agus ansin, beidh bosca pras pop amach chun a mheabhrú duit cill a roghnú chun an toradh a aimsiú, ansin, cliceáil OK, féach ar an scáileán:
  4. Agus anois, tá gach teaglaim atá comhionann leis an uimhir tugtha sin ar taispeáint mar a thaispeántar thíos scáileáin:
nótaí: Chun an ghné seo a chur i bhfeidhm, le do thoil Íoslódáil agus a shuiteáil Kutools do Excel an chéad.

Faigh gach teaglaim d'uimhreacha a bhfuil suim acu i raon le cód VBA

Uaireanta, b'fhéidir go mbeidh tú i gcás ina gcaithfidh tú gach teaglaim uimhreacha féideartha a shainaithint a chomhlíonfaidh suim laistigh de raon sonrach. Mar shampla, b’fhéidir go bhfuil tú ag iarraidh gach grúpáil uimhreacha a d’fhéadfadh a bheith agat a aimsiú nuair a thiteann an t-iomlán idir 470 agus 480.

Is dúshlán suimiúil agus an-phraiticiúil in Excel é gach teaglaim uimhreacha a d’fhéadfadh a bheith ann a thagann suas le luach laistigh de raon sonrach a fháil amach. Tabharfaidh an chuid seo isteach cód VBA chun an tasc seo a réiteach.

Céim 1: Oscail an eagarthóir modúl VBA agus cóipeáil an cód

  1. Coinnigh síos an ALT + F11 eochracha in Excel, agus osclaíonn sé an Microsoft Visual Basic d’Fheidhmchláir fhuinneog.
  2. cliceáil Ionsáigh > Modúil, agus greamaigh an cód seo a leanas i bhFuinneog an Mhodúil.
    Cód VBA: Faigh gach teaglaim d'uimhreacha a bhfuil suim acu go dtí raon sonrach
    Sub Getall_combinations()
    'Updateby Extendoffice
        Dim xNumbers As Variant
        Dim Output As Collection
        Dim rngSelection As Range
        Dim OutputCell As Range
        Dim LowLimit As Long, HiLimit As Long
        Dim i As Long, j As Long
        Dim TotalCombinations As Long
        Dim CombTotal As Double
        Set Output = New Collection
        On Error Resume Next
        Set rngSelection = Application.InputBox("Select the range of numbers:", "Kutools for Excel", Type:=8)
        If rngSelection Is Nothing Then
            MsgBox "No range selected. Exiting macro.", vbInformation, "Kutools for Excel"
            Exit Sub
        End If
        On Error GoTo 0
        xNumbers = rngSelection.Value
        LowLimit = Application.InputBox("Select or enter the low limit number:", "Kutools for Excel", Type:=1)
        HiLimit = Application.InputBox("Select or enter the high limit number:", "Kutools for Excel", Type:=1)
        On Error Resume Next
        Set OutputCell = Application.InputBox("Select the first cell for output:", "Kutools for Excel", Type:=8)
        If OutputCell Is Nothing Then
            MsgBox "No output cell selected. Exiting macro.", vbInformation, "Kutools for Excel"
            Exit Sub
        End If
        On Error GoTo 0
        TotalCombinations = 2 ^ (UBound(xNumbers, 1) * UBound(xNumbers, 2))
        For i = 1 To TotalCombinations - 1
            Dim tempArr() As Double
            ReDim tempArr(1 To UBound(xNumbers, 1) * UBound(xNumbers, 2))
            CombTotal = 0
            Dim k As Long: k = 0
            
            For j = 1 To UBound(xNumbers, 1)
                If i And (2 ^ (j - 1)) Then
                    k = k + 1
                    tempArr(k) = xNumbers(j, 1)
                    CombTotal = CombTotal + xNumbers(j, 1)
                End If
            Next j
            If CombTotal >= LowLimit And CombTotal <= HiLimit Then
                ReDim Preserve tempArr(1 To k)
                Output.Add tempArr
            End If
        Next i
        Dim rowOffset As Long
        rowOffset = 0
        Dim item As Variant
        For Each item In Output
            For j = 1 To UBound(item)
                OutputCell.Offset(rowOffset, j - 1).Value = item(j)
            Next j
            rowOffset = rowOffset + 1
        Next item
    End Sub
    
    
    

Céim 2: Rith an cód

  1. Tar éis an cód a ghreamú, brúigh F5 eochair chun an cód seo a rith, sa chéad dialóg popped amach, roghnaigh an raon uimhreacha is mian leat a úsáid, agus cliceáil OK. Féach an pictiúr:
  2. Sa dara bosca pras, roghnaigh nó clóscríobh an uimhir teorainn íseal, agus cliceáil OK. Féach an pictiúr:
  3. Sa tríú bosca pras, roghnaigh nó clóscríobh an uimhir teorainn ard, agus cliceáil OK. Féach an pictiúr:
  4. Sa bhosca leid dheireanach, roghnaigh cill aschuir, agus is é sin an áit a dtosófar ar na torthaí a aschur. Ansin cliceáil OK. Féach an pictiúr:

Toradh

Anois, beidh gach teaglaim cháilitheach liostaithe i sraitheanna as a chéile sa bhileog oibre, ag tosú ón gcill aschuir a roghnaigh tú.

Tugann Excel roinnt bealaí duit chun grúpaí uimhreacha a aimsiú a chuireann suas le hiomlán áirithe, oibríonn gach modh ar bhealach difriúil, ionas gur féidir leat ceann a roghnú bunaithe ar cé chomh eolach atá tú ar Excel agus an méid a theastaíonn uait do do thionscadal. Má tá suim agat níos mó leideanna agus cleasanna Excel a fhiosrú, cuireann ár suíomh Gréasáin na mílte ranganna teagaisc ar fáil, le do thoil cliceáil anseo chun iad a rochtain. Go raibh maith agat as léamh, agus táimid ag tnúth le tuilleadh faisnéise cabhrach a sholáthar duit amach anseo!


Airteagail ghaolmhara:

  • Déan liosta nó giniúint gach teaglaim fhéideartha
  • Ligean le rá, tá an dá cholún sonraí seo a leanas agam, agus anois, ba mhaith liom liosta de na teaglamaí uile is féidir a ghiniúint bunaithe ar an dá liosta luachanna mar a thaispeántar ar chlé. B’fhéidir, is féidir leat na teaglamaí go léir a liostáil ceann ar cheann mura bhfuil mórán luachanna ann, ach, má tá roinnt colúin le luachanna iolracha ag teastáil chun na teaglamaí féideartha a liostáil, seo roinnt cleasanna gasta a d’fhéadfadh cabhrú leat déileáil leis an bhfadhb seo in Excel .
  • Liostaigh gach teaglaim fhéideartha ó cholún amháin
  • Más mian leat gach teaglaim fhéideartha a thabhairt ar ais ó shonraí colún aonair chun an toradh a fháil mar atá thíos sa screenshot a thaispeántar, an bhfuil aon bhealaí tapa agat chun déileáil leis an tasc seo in Excel?
  • Gin gach teaglaim de 3 cholún nó iolrach
  • Ag ceapadh, tá 3 cholún sonraí agam, anois, ba mhaith liom gach teaglaim de na sonraí sna 3 cholún seo a ghiniúint nó a liostáil mar atá thíos an pictiúr a thaispeántar. An bhfuil aon mhodhanna maithe agat chun an tasc seo a réiteach in Excel?
  • Gin liosta de na teaglaim 4 dhigit go léir is féidir
  • I roinnt cásanna, b’fhéidir go mbeidh orainn liosta a ghiniúint de na teaglamaí 4 dhigit uile is féidir de uimhir 0 go 9, rud a chiallaíonn liosta de 0000, 0001, 0002… 9999 a ghiniúint. Chun tasc an liosta in Excel a réiteach go tapa, tugaim roinnt cleasanna isteach duit.