조건부 서식 : Mac 용 Excel에서 텍스트 관련성을 나타내는 3 색 눈금


1

Excel에서 다음과 같은 방식으로 조건부 서식을 사용하는 방법이 있습니까? (호기심이 많은 사람들을 위해 Mac 용 Excel 2010을 사용하고 있습니다)

A2가 "John은 녹색 사과를 좋아합니다"라고 말하고 B2는 "John은 녹색 사과를 좋아합니다"라고 말할 때 Cell B2를 녹색으로 만들고 싶습니다. A2는 "John은 녹색 사과를 좋아하고"는 B2는 "Bill hates red oranges"라고 말합니다.

그 효과에 대한 방법이 있는지 궁금합니다.

감사


명확하게 말하면, 메트릭은 ? B2에서 찾을 수있는 단어의 수 / 백분율입니다 A2.
Excellll

백분율과 같은 것이 작동합니다. 정확할 필요는 없습니다. 단지 상대적인 것이 필요합니다.
enano2054

VBa를 수용 할 수 있습니까? 아니면 조건부 서식 만 사용하여이 작업을 수행 하시겠습니까?
Dave

@slhck의 요청에 따라 PC에서이 작업을 수행하는 방법에 대한 개요를 삭제 한 후 PC 사례를 해결하기위한 질문과 답변을 게시했습니다. superuser.com/questions/753869/…
Andi Mohr

VBA는 허용됩니다. 나는 그것이 옵션이라는 것을 몰랐다. 그것이 내가 관심있는 결과이다. 감사합니다 @DaveRook
enano2054

답변:


2

확실한. 셀 B2를 선택하고 탭> 스타일 그룹> 조건부 서식 > 새 규칙 > 수식을 사용하여 서식을 지정할 셀 결정으로 이동하십시오.

이 공식을 입력하십시오 :

=AND(A2="John likes green apples",B2="John likes green apples")

형식을 녹색으로 채우도록 설정하십시오.

추가 색상과 규칙마다 반복하십시오.


그래서 저는 각각 A와 B에 다른 텍스트가있는 2 천 개의 행이 있으며 조건부 서식이 더 비슷한 세트를 식별하는 데 도움이되기를 바랍니다. 하나씩 하나씩 가고 싶지 않습니다. . 어떤 제안? 답장을 보내 주셔서 감사합니다.
enano2054

2
퍼지 조회를 원하는 것처럼 들립니다 .
Calvin

Mac 용 Excel 2010을 사용하고 있다고 말하면 작동 할 것으로 기대했지만 PC가 필요한 것처럼 보입니다.
enano2054

1
오, 나는 그것이 단지 Windows라는 것을 몰랐다. VBA에서 구현 된 퍼지 비교를 사용할 수 있어야합니다. 나는 그것을 시도하지 않았지만, 이것은 유망 해 보인다.
Calvin

0

VBA가 필요합니다. 다음 함수는 동일한 위치에서 일치하는 0-1 (즉, 백분율)의 값을 반환합니다 . 내장 기능을 사용할 때와 동일하게 사용하십시오. 그런 다음 일반 조건부 서식을이 값에 적용 할 수 있습니다.

대소 문자를 구분해야하는지 여부에 대한 선택적 True / False (기본값은 false)입니다.

"밥 먹은 저녁 식사"vs "밥 먹은 저녁 식사" 구두점을 무시하지 않으므로 0.66이됩니다.

"Bob Bob Bob Bob"대 "Bob Bob"= 2/4 = 0.5-- 문자열에 다른 수의 단어가 포함 된 경우 두 개 중 큰 숫자가 분모이지만 분자는 두 개 중 작은 것에서 최대가됩니다.

Function ScorePair(stringInput As String, stringTarget As String, Optional caseSensitive As Boolean = False) As Double

Dim scoreNum As Integer
Dim scoreDen As Integer
Dim splitInput As Variant
Dim splitTarget As Variant
Dim theScore As Double
Dim sizeTarget As Integer
Dim sizeInput As Integer
Dim loopSize As Integer

'Initialize
scoreNum = 0
i = 0

'Extract strings into arrays of words
splitInput = Split(stringInput, " ")
splitTarget = Split(stringTarget, " ")

'Get sizes of arrays to know how much to loop (smaller of two) and what to set denominator at (bigger of two)
sizeInput = UBound(splitInput, 1)
sizeTarget = UBound(splitTarget, 1)
scoreDen = WorksheetFunction.Max(sizeTarget, sizeInput) + 1
loopSize = WorksheetFunction.Min(sizeTarget, sizeInput)

'Loop through arrays comparing them by matching position
For i = i To loopSize
    If caseSensitive Then
        If splitInput(i) = splitTarget(i) Then
            scoreNum = scoreNum + 1
        End If
    ElseIf LCase(splitInput(i)) = LCase(splitTarget(i)) Then
        scoreNum = scoreNum + 1
    End If
Next

'Calculate the score as percentage
theScore = scoreNum / scoreDen
ScorePair = theScore

End Function

초보자 질문은 용서하지만 일단 Visual Basic Editor에 연결하면 어떻게해야합니까? 감사합니다
enano2054

코드를 모듈에 넣습니다. 셀 유형 '= scorepair (a1, a2)'
wbeard52

이것은 잘하고 있지만 단어의 배치에 대해서는별로 신경 쓰지 않습니다.
enano2054

따라서 동일한 위치가 아닌 것을 제외하고는 동일한 방식으로 작동 하시겠습니까? "Bob Ate A Cow"= "Ate Ate Bob"?
Madball73

0

귀하의 질문도 명확하지 않습니다. 실제 이름이 중요합니까 (John, Bill)? 과일이 중요할까요? 또는 약 3 가지 조건입니다

  1. 이름 일치와 과일 일치에 대한 느낌
  2. 이름은 일치하지 않지만 과일에 대한 느낌
  3. 이름이 일치하지 않고 과일에 대한 감정이 일치하지 않습니다

나는 중요한 것은 사람의 이름과 그들이 무언가에 대해 같은 느낌을 가지고 있다고 가정했습니다. 따라서 그 사람의 이름은 무엇이든 될 수 있으며 Bill과 Claire가 과일을 싫어한다면 나는 또한 오렌지라고 가정했습니다. 코드가 작성되었으므로 쉽게 수정할 수 있습니다!

Sub Button1_Click()

Dim row As Integer
row = 1
Do While (True)

If Range("A" & row).Value = "" Then
    Exit Do
End If

Dim score As Integer
score = 0

Dim wordsA() As String
wordsA = Split(Range("A" & row).Value, " ")

Dim wordsB() As String
wordsB = Split(Range("B" & row).Value, " ")

If wordsA(0) = wordsB(0) Then
    score = score + 1
End If

If wordsA(1) = wordsB(1) Then
    score = score + 1
Else
    score = score + 3
End If


'2 = both same name, both feel same way
'1 = different name, both feel same way
'3 = differet feelings

Select Case score
   Case 1
   Case 4
Range("B" & row).Interior.ColorIndex = 46

   Case 2
   Range("B" & row).Interior.ColorIndex = 43

   Case 3
Range("B" & row).Interior.ColorIndex = 30


End Select

row = row + 1

Loop

End Sub

여기에 이미지 설명을 입력하십시오


아, 방금 조건부 서식이 나에게 맞는 방법이 있다고 가정했습니다. 모든 솔루션이 작동합니다. 좋아, 초보자임을 용서하십시오. 코드를 Visual Basic Editor에 연결했지만 코드를 실행하기 위해 어디로 가야할지 모르겠습니다. 어떤 지침도 훌륭합니다. 감사!
enano2054

글쎄, 그것을 테스트하려면 먼저 Excel 파일의 사본을 만드십시오 !!! 그런 다음 사본에서 재생 (녹색 화살표) 버튼을 클릭하여 먼저 원하는 것이 작동하는지 확인하십시오. @ user1470242
Dave

Mac 용 Excel에서 재생 버튼이 어디에 표시됩니까? 나는 그것을보고 있지 않다. # novicequestion2
enano2054

도구> 매크로> 매크로로 이동 한 다음 실행을 누르면 아무 일도 일어나지 않습니다.
enano2054

흠 ... 매크로가 활성화되어 있습니까? 나는 Mac을 전혀 모른다. Excel-Mac은 매크로를 실행할 수 있으므로 포스트를 알 수있다. 당신이 그것을 실행하는 방법에 관해서는, 당신이 구글 검색을 가장 잘 할 것이라고 생각합니다, 나는 그것에 대해 많이 도울 수 있다고 생각하지 않습니다 ... 죄송합니다 @ user1470242
Dave
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.