最も広いセルコンテンツの検索(Microsoft Excel)
Maryには、それぞれ10,000〜80,000行のスプレッドシートがいくつかあります。
場合によっては、列の幅が本来よりも広くなることがあります。これは、おそらくコンテンツによって列が広くなっていることが原因です。したがって、メアリーは、10,000〜80,000行をスクロールして見つけることなく、最も幅の広いセルを見つける簡単な方法があるかどうか疑問に思います。
これにはいくつかの方法がありますが、このヒントでは、そのうちの3つについてのみ説明します。 1つ目は、ワークシートのヘルパー列を利用できる場合の簡単な方法です。チェックする列がAであるとしましょう。この数式を未使用の列の最初のセルに入れることができます:
=LEN(TRIM(A1))
数式を必要な数のセルにコピーしてから、Excelのフィルタリング機能を使用して、その列に最大値を表示します。これはあなたが望むそれらの細胞をあなたに与えるでしょう。
2番目の数式ベースの方法は、次のような数式を使用することです。
=MIN(IF(LEN($A:$A)=MAX(LEN($A:$A)),ROW($A:$A),1048577)) =CELL("address",INDEX($A:$A,MATCH(MAX(LEN($A:$A)),LEN($A:$A),0)))
Ctrl + Shift + Enterを押して、これらの両方を配列数式として入力する必要があります。最初の数式は、長さが最も長い列Aのセルの行番号を返します。 2番目の数式は、最も長いセルの実際のアドレスを返します。
3番目のアプローチは、長い長さをかなり定期的に把握する必要がある場合に適しています。マクロを使用して必要な情報を導き出す必要があります:
Sub FindWidestCells() Dim Ad(10) As String Dim Le(10) As Integer Dim J As Integer Dim K As Integer Dim L As Integer Dim lCols As Long Dim lRows As Long Dim Rng As Range Dim c As Range Dim sTemp As String lCols = ActiveCell.Column lRows = Cells(Rows.Count, lCols).End(xlUp).Row Set Rng = Range(Cells(1, lCols), Cells(lRows, lCols)) For Each c In Rng ' Find shortest length in the group K = 1 For J = 2 To 10 If Le(J) < Le(K) Then K = J Next J If Len(c.Text) > Le(K) Then Le(K) = Len(c.Text) Ad(K) = c.Address End If Next c ' Sort the cells For J = 1 To 9 L = J For K = J + 1 To 10 If Le(K) > Le(L) Then L = K Next K If L <> J Then sTemp = Ad(L) Ad(L) = Ad(J) Ad(J) = sTemp K = Le(L) Le(L) = Le(J) Le(J) = K End If Next J sTemp = "Longest cells:" & vbCr For J = 1 To 10 If Le(J) > 0 Then sTemp = sTemp & " " & Ad(J) & " (" & Le(J) & ")" & vbCr End If Next J MsgBox sTemp End Sub
チェックする列のセルを選択して、マクロを実行するだけです。返されるのは、長さに基づいて降順で、列内の最も幅の広い10個のセルのリストです。
注:
このページ(または_ExcelTips_サイトの他のページ)で説明されているマクロの使用方法を知りたい場合は、役立つ情報を含む特別なページを用意しました。
_ExcelTips_は、費用効果の高いMicrosoftExcelトレーニングのソースです。
このヒント(13747)は、Microsoft Excel 2007、2010、2013、2016、2019、およびOffice365のExcelに適用されます。