Michael은 워크 시트에서 일부 셀을 선택할 수 있으며 작업 표시 줄 (워크 시트 하단에 있음)은 선택한 셀에 대한 일부 분석 (예 : 셀 합계 또는 평균)을 표시합니다. Michael은 워크 시트의 다른 곳에 해당 값을 붙여 넣을 수 있도록 작업 표시 줄의 값을 클립 보드로 복사하는 방법이 있는지 궁금합니다.

짧은 대답은 아니오입니다. 작업 표시 줄의 정보에 액세스 할 수있는 방법이 없습니다. 즉, 정보에 액세스 할 수 있도록 정보를 재생성하는 데 사용할 수있는 몇 가지 접근 방식이 있습니다.

첫 번째 해결 방법은 매크로 사용을 포함하지 않지만 약간 과잉이라고 생각할 수 있습니다. (누가 Excel에서 바주카포로 모기를 쏠 수 없다고 말했습니까?)이 접근 방식은 데이터 분석 도구를 사용합니다. 이 도구는 추가 기능을 사용하여 구현됩니다. 오른쪽에 데이터 분석 도구가 표시되어야하는 리본의 데이터 탭을 보면 시스템에서 활성화되었는지 여부를 알 수 있습니다. 표시되지 않으면 다음 단계를 따르세요.

  1. Excel 옵션 대화 상자를 표시합니다. (Excel 2007에서는 Office 단추를 클릭 한 다음 Excel 옵션을 클릭합니다. Excel 2010 이상 버전에서는 리본의 파일 탭이 표시되고 옵션을 클릭합니다.)

  2. 대화 상자의 왼쪽에서 추가 기능을 클릭합니다.

  3. 대화 상자 맨 아래에있는 관리 드롭 다운 목록을 사용하여 Excel 추가 기능을 선택합니다.

  4. 이동 버튼을 클릭합니다. Excel에 추가 기능 대화 상자가 표시됩니다. (그림 1 참조)

  5. 분석 도구 옆에있는 확인란을 선택합니다.

  6. 확인을 클릭하십시오.

데이터 분석 추가 기능이 활성화 된 상태에서 분석 할 셀을 선택합니다. 평소와 같이 작업 표시 줄에 통계가 표시됩니다. 이제 리본의 데이터 탭을 표시하고 데이터 분석 도구를 클릭합니다.

Excel은 데이터 분석 대화 상자를 표시합니다. (그림 2 참조)

image

그림 2. 데이터 분석 대화 상자.

이 대화 상자는 수행 할 수있는 다양한 분석을 나열하는 것 외에는 아무것도하지 않습니다. 기술 통계 옵션을 선택한 다음 확인을 클릭합니다. 그런 다음 Excel은 기술 통계 대화 상자를 표시합니다. (그림 3 참조)

image

그림 3. 기술 통계 대화 상자.

분석하려는 셀이 입력 범위 상자에 아직 표시되지 않은 경우 해당 상자를 한 번 클릭 한 다음 워크 시트에서 셀을 선택합니다.

그런 다음 대화 상자 아래쪽에서 요약 통계 확인란을 클릭합니다. 확인을 클릭하면 Excel은 작업 표시 줄에 표시 될 수있는 모든 통계 (및 그 이상)가 포함 된 새 워크 시트를 만듭니다. 그런 다음 원하는대로 이러한 워크 시트를 다시 워크 시트에 복사하고 작업이 끝나면 추가 된 워크 시트를 삭제할 수 있습니다.

(참조 — 과잉 일 수도 있다고 말했어.)

매크로를 사용해도 괜찮다면 원하는 정보를 반환하는 사용자 정의 함수를 만들 수 있습니다. 다음은 사용할 수있는 것입니다.

Function Stats(R As Range, Op As String) As Long     Dim sTemp As String     Dim c As Range     Dim sOp As String

Stats = 0     On Error GoTo Done     sOp = UCASE(Op)

Select Case sOp         Case "AVG"

Stats = WorksheetFunction.Average(R)

Case "CNT"

For Each c In R                 If Not IsEmpty(c.Value) Then Stats = Stats + 1             Next c         Case "MIN"

Stats = WorksheetFunction.Min(R)

Case "MAX"

Stats = WorksheetFunction.Max(R)

Case "SUM"

Stats = WorksheetFunction.Sum(R)

Case Else             sTemp = "This function requires two parameters. "

sTemp = sTemp & "The first is the cells you want evaulated. "

sTemp = sTemp & "The second is the operation you want "

sTemp = sTemp & "performed. You can use the following "

sTemp = sTemp & "operations:" & vbCrLf & vbCrLf             sTemp = sTemp & "   AVG (average)" & vbCrLf             sTemp = sTemp & "   CNT (count of cells with values)" & vbCrLf             sTemp = sTemp & "   MIN (minimum)" & vbCrLf             sTemp = sTemp & "   MAX (maximum)" & vbCrLf             sTemp = sTemp & "  * SUM (sum)" & vbCrLf             MsgBox sTemp     End Select Done:

End Function

함수를 사용하려면 셀에 다음과 유사한 것을 입력하면됩니다.

=Stats(B3:B7, "Min")

매크로를 통해 두 번째 매개 변수를 통해 함수에 전달할 수있는 다양한 작업 코드를 파악할 수 있습니다. 사용자 정의 함수는 그 자체로도 약간의 과잉으로 보입니다. 왜? 원하는 정보를 얻기 위해 단순히 정규식을 사용할 수 있기 때문입니다.

=MIN(B3:B7)

대신 바로 가기 키에 연결된 매크로를 만들 수 있습니다. 그런 다음 원하는 정보를 클립 보드에 채우기 위해 선택한 모든 셀에 사용할 수 있습니다.

Sub StatClip()

Dim sTemp As String     Dim R As Range     Dim f As Variant     Dim obj As New DataObject

Set R = Selection     Set f = Application.WorksheetFunction

sTemp = "Address:" & vbTab & R.Address & vbCrLf     sTemp = sTemp & "Average:" & vbTab & f.Average(R) & vbCrLf     sTemp = sTemp & "Count: " & vbTab & f.Count(R) & vbCrLf     sTemp = sTemp & "Min: " & vbTab & f.Min(R) & vbCrLf     sTemp = sTemp & "Max: " & vbTab & f.Max(R) & vbCrLf     sTemp = sTemp & "Sum: " & vbTab & f.Sum(R) & vbCrLF

obj.SetText sTemp     obj.PutInClipboard End Sub

이 매크로를 키보드 바로 가기에 할당하려고합니다. 이렇게하면 워크 시트에서 일부 셀을 선택한 상태에서 바로 가기를 사용하여 호출 할 수 있습니다. 매크로를 실행하려고 할 때 오류가 발생하면 프로젝트에 대해 Microsoft Forms 2.0 개체 라이브러리를 사용하도록 설정하지 않았기 때문에 의심의 여지가 없습니다. VBA 편집기에서 Tools | 필수 라이브러리를 활성화하기위한 참조입니다.

실제로 매크로를 호출하면 아무 일도 일어나지 않는 것처럼 보입니다. 이것은 정상입니다. 정보가 클립 보드에 채워지는 것을 기억하십시오. 매크로가 실행 된 후 다른 셀을 선택한 다음 Ctrl + V를 눌러 해당 클립 보드 내용을 워크 시트에 붙여 넣어야합니다.

_ExcelTips_는 비용 효율적인 Microsoft Excel 교육을위한 소스입니다.

이 팁 (6232)은 Office 365의 Microsoft Excel 2007, 2010, 2013, 2016, 2019 및 Excel에 적용됩니다.