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に適用されます。