答え1
使い方:
ソースデータは範囲内ですA2:F3
。
セルにこの数式を記述して、
B6
ソースデータからアルファベットを分割し、右。=LEFT(A2,MIN(FIND({0,1,2,3,4,5,6,7,8,9},A2&"0123456789"))-1)
ソースデータから数値を分割するには、セルにこの数式を入力し
B7
、右に曲がり、次に下へ。=VALUE(RIGHT(A2,LEN(A2)-MIN(FIND({0,1,2,3,4,5,6,7,8,9},A2&"0123456789"))+1))
セルに
B10
この配列数式を記入し、右そして押してF2
仕上げCtrl+Shift+Enter
、充填します下。{=LARGE(B7:G7,{1,2,3})}
この数式をセルに入力して
B13
ください右それから下。=IFERROR(INDEX(B$6:$G$6,MATCH(B10,B7:$G7,0)),"")
最後に、セルに
B16
次の数式を書いて入力します下。
=CONCATENATE(B13,C13,D13)
必要に応じて数式のセルの差異を調整します。
答え2
データ「R35」が にあると仮定しますA1
。
する
H1 ---> =VALUE(RIGHT(A1,LEN(A1)-1))
までドラッグしL1
、その後
N1 ---> =IF(COUNTIF($H1:$L1,H1)=1,H1,H1+0.5)
O1 ---> =IF(COUNTIF($H1:$L1,I1)=1,I1,I1+0.4)
P1 ---> =IF(COUNTIF($H1:$L1,J1)=1,J1,J1+0.3)
Q1 ---> =IF(COUNTIF($H1:$L1,K1)=1,K1,K1+0.2)
R1 ---> =IF(COUNTIF($H1:$L1,L1)=1,L1,L1+0.1)
それから
T1 ---> =RANK(N1,$N1:$R1,0)
までドラッグしX1
、その後
Z1 ---> =INDEX($A1:$F1,MATCH(1,$T1:$X1,0))
AA1 ---> =INDEX($A1:$F1,MATCH(2,$T1:$X1,0))
AB1 ---> =INDEX($A1:$F1,MATCH(3,$T1:$X1,0))
それから
AD1 ---> =LEFT(Z1)&LEFT(AA1)&LEFT(AB1)
最後に、選択しH1:AD1
てドラッグしますAD6
。
AD 列が探しているものであるはずです。列を非表示にしたり、別のシートで実行して見た目をシンプルにすることもできます。
(式の理解や実行で)行き詰まったら、ぜひ共有してください。(:
それが役に立てば幸い。
p/s: この要件を満たすために +0.5、+0.4 .. +0.1 が使用されます
最初に現れた者が優先される
答え3
VBS を使わずに 6 つのヘルパー セルが必要でした。データが A1 から F1 にある場合:
G1を
=INT(RIGHT(A1,2)&"006")
H1を
=INT(RIGHT(B1,2)&"005")
I1を
=INT(RIGHT(C1,2)&"004")
J1を
=INT(RIGHT(D1,2)&"003")
K1を
=INT(RIGHT(E1,2)&"002")
L1を
=INT(RIGHT(F1,2)&"001")
そしてM1は
=LEFT(INDIRECT(ADDRESS(ROW(),MATCH(LARGE(G1:L1,1),G1:L1,0))),1)&LEFT(INDIRECT(ADDRESS(ROW(),MATCH(LARGE(G1:L1,2),G1:L1,0))),1)&LEFT(INDIRECT(ADDRESS(ROW(),MATCH(LARGE(G1:L1,3),G1:L1,0))),1)
これらの 7 つの数式をコピーして、各行に貼り付けることができるはずです。重複する値は左から右に処理されることに注意してください。