这个想法是要找出c2和d2中两个相邻的像元值是否与a列和b列中的任何两个相邻像元匹配。
我正在考虑某种形式的vlookup,索引和/或iferror可以工作,但是我还没有找到答案;明显。
在此先感谢任何人的帮助。
答案 0 :(得分:1)
创建列C,使其为= A1&“ |” &B1 现在,由于工作表的其余部分移动了1个单元格 在F中创建一列,使其为= D1&“ |” &E1
在C和F上进行vlookup,然后放入G。
我使用了“ |”因为您不想将它们粉碎在一起。您可能会得到错误的匹配。
答案 1 :(得分:1)
您需要比较串联数据。这可以通过两种方式完成:
在公式中串联-对于单元格E2
=MATCH(C2 & "_" & D2, A1:A100 & "_" & B1:B100,0)
使用字符分隔数据中未出现的列。
输入为数组公式(用 Ctrl - Shift - Enter 完整,而不仅仅是 Enter 完整)
调整匹配范围(在我的示例中,行数为1到100)以适合您的数据。请注意,不建议将整列用于数组公式)
添加一个帮助列,用公式表示F:F
(用于F2
),然后向下复制
=C2 & "_" & D2
然后E2
中的公式变为(标准公式)
=MATCH(C2&"_"&D2,F:F,0)
答案 2 :(得分:1)
您可以将其放入VBA,这样就可以完成工作:
Public Sub Match()
Dim k As Long
Dim i As Long
Dim j As Long
Dim str1 As String
Dim str2 As String
application.calculation = xlCalculationManual
Application.ScreenUpdating = False
i = Range("A1").End(xlDown).Row - 1
For j = 1 To i
str1 = Range("C1").Offset(j, 0)
str2 = CStr(Range("D1").Offset(j, 0))
For k = 1 To i
If Range("A1").Offset(k, 0).Value = str1 And Range("B1").Offset(k, 0).Value = str2 Then
Range("E1").Offset(j, 0).Value = "y"
GoTo Spot
End If
Range("E1").Offset(j, 0).Value = "n"
Next
Spot:
Next
Application.ScreenUpdating = True
application.calculation = xlCalculationautomatic
End Sub
答案 3 :(得分:1)
您也可以这样做。我创建了两列以连接(连接在一起)相邻的单元格,这使得使用index / match方法成为可能。
公式如下:
C列:from django.shortcuts import render, redirect
from .models import BlogPost
from .forms import NewBlog
def index(request):
blogs = BlogPost.objects.all()
context = {'blogs' : blogs}
return render(request, 'blog/index.html', context)
def newBlog(request):
if request == 'POST':
form = NewBlog(request.POST)
if form.is_valid():
blogger = form.cleaned_data['blogger']
text = form.cleaned_data['text']
new_blog = BlogPost(blogger = blogger, text = text)
new_blog.save()
return redirect('index')
else:
form = NewBlog()
context = {'form' : form}
return render(request, 'blog/new_blog.html', context)
F列:=CONCATENATE(A2,B2)
G列:=CONCATENATE(D2,E2)
希望这会有所帮助