• 締切済み

エクセル 関数使用での自動表記

図の点線内の表記を関数を使用して自動表記させることは可能でしょうか? 教えて頂きたい。 補足 セルE9内の・は数字の区切りである事を示しているだけなので ・でなくても区切りが判るようなら何でもいいです。 作業列を作っても良いので自動表記できないでしょうか?

この投稿のマルチメディアは削除されているためご覧いただけません。

みんなの回答

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.2

作業列をGおよびH列に設けて対応します。 G2セルには次の式を入力して下方にオートフィルドラッグします。 =IF(OR(B2="",ROW(A1)>8),"",IF(COUNTIF(B$10,"*"&B2&"*")=1,10000+COUNTIF(G$1:G1,">=10000")-COUNTIF(G$1:G1,">=20000"),IF(COUNTIF(B$11,"*"&B2&"*")=1,20000+COUNTIF(G$1:G1,">=20000"),""))) H2セルには次の式を入力して下方にオートフィルドラッグします。 =IF(G2="","",IF(G2=10000,A2,IF(ROUND(G2,-4)=10000,INDEX(H$1:H1,MATCH(SMALL(G:G,RANK(G2,G:G,1)-1),G:G,0))&"/"&A2,IF(G2=20000,A2,IF(ROUND(G2,-4)=20000,INDEX(H$1:H1,MATCH(SMALL(G:G,RANK(G2,G:G,1)-1),G:G,0))&"/"&A2,""))))) 最後の答えとしてE10セルには次の式を入力します。 =IF(COUNTIF(G:G,20000)=0,INDEX(H:H,MATCH(LARGE(H:H,1),G:G,0)),INDEX(H:H,MATCH(SMALL(G:G,RANK(20000,G:G,1)-1),G:G,0))) E11セルには次の式を入力します。 =IF(COUNTIF(G:G,20000)=0,"",INDEX(H:H,MATCH(LARGE(G:G,1),G:G,0)))

pb000
質問者

お礼

回答ありがとうございました 今後回答No.1・2を参考にエクセルを活用していきたいと思います。

  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.1

 今仮に、元の表が存在しているシートがSheet1であり、Sheet2のA列とB列を作業列として使用すものとします。  まず、Sheet2のA2セルに次の数式を入力して下さい。 =IF(OR(INDEX(Sheet1!$D:$D,ROW())="",COUNTIF(Sheet1!$A:$A,INDEX(Sheet1!$D:$D,ROW()))=0),"","★"&INDEX(Sheet1!$D:$D,ROW())&"☆"&COUNTIF(A$1:A1,"★"&INDEX(Sheet1!$D:$D,ROW())&"☆*")+1)  次に、Sheet2のB2セルに次の数式を入力して下さい。 =IF($A2="","",IF(COUNTIF($A2,"*☆1"),"",VLOOKUP("★"&INDEX(Sheet1!$D:$D,ROW())&"☆"&COUNTIF($A$1:$A1,"★"&INDEX(Sheet1!$D:$D,ROW())&"☆*"),$A$1:B1,2,FALSE))&"・"&INDEX(Sheet1!$A:$A,ROW()))  次に、Sheet2のA2~B2の範囲をコピーして、同じ列の3行目以下に貼り付けて下さい。  次に、Sheet1のE2セルに次の数式を入力して下さい。 =IF(OR(INDEX($A:$A,ROW())="",COUNTIF($D:$D,INDEX($A:$A,ROW()))=0),"",REPLACE(VLOOKUP("★"&INDEX($A:$A,ROW())&"☆"&COUNTIF($D:$D,INDEX($A:$A,ROW())),Sheet2!$A:$B,2,FALSE),1,1,))  次に、Sheet1のE2セルをコピーして、Sheet1のE3以下に貼り付けて下さい。  以上です。

pb000
質問者

お礼

kagakusikiさん前回もお世話になりましたpb000です これで手入力作業がなくなり作業効率あげることが出来ました ありがとうございます。

関連するQ&A

専門家に質問してみよう