戻る  □VBAのサロン  □ 使用方法  □ 新着記事  □ 新規に質問する!  □ トピック一覧  □ 検索  □ 過去ログ
[ 最新記事及び返信フォームをトピックトップへ ]
このトピック参照回数 :
特定のセルに指定した値を関数にて代入したい。

    [133500] 特定のセルに指定した値を関数にて代入したい。-

    ■親トピック/記事引用/メール受信=OFF■

    □投稿者/ zumo1224 -(2023/01/07(02:23))
    □U R L/
      こんばんは。Excel関数について質問があります。
      
      〇やりたいこと
      以下の「元データ」があります。それをその下の「関数実行後のデータ」のように
      したいです。
      
      同じidが複数個存在するデータで、同じidの中で一番最後の行に数値が
      記載されています。
      
      関数実行後のデータのように同じデータをB列の数値で埋めたいと考えています。
      当然、手作業でオートフィルを行えば可能なのですが、項目が多いため、関数にて行いたいと考えています。
      
      B列にどのような関数を実行することで可能になるでしょうか?
      
      ・元データ
              A        B
      1	id	数値
      2	a	
      3	a	
      4	a	
      5	a	123
      6	b	
      7	b	
      8	b	
      9	b	
      10	b	456
      11	c	
      12	c	
      13	c	
      14	c	
      15	c	789
      16	d	
      17	d	
      18	d	1234
      
      ・関数実行後のデータ
              A        B
      1	id	数値
      2	a	123
      3	a	123
      4	a	123
      5	a	123
      6	b	456
      7	b	456
      8	b	456
      9	b	456
      10	b	456
      11	c	789
      12	c	789
      13	c	789
      14	c	789
      15	c	789
      16	d	1234
      17	d	1234
      18	d	1234
      
      
      




    [133501] Re[1]: 特定のセルに指定した値を関数にて代入したい。-

    記事引用/メール受信=OFF■

    □投稿者/ 半平太 -(2023/01/07(10:11))
    □U R L/
      うーん、関数を入れると言っても、
      入力すべきセル(空白)はいつも決まった位置にある訳ではないですよね?
      
      入力すべきセルを動的に見つけて、数式を入れるとなると
      「手作業で数式入力」か「VBAで数式入力」になります。
      まあ、数式と言ったって、下のセルと同じ数値にするってだけのものですが。
      (例:B4セルに =B5)
      
      >項目が多いため
      これもどんな状況なのか、もっと実状が分かる説明をいただかないと、
      VBAは作れないです(さもないと余計なセルまで入力してしまう)。
      




    [133502] Re[2]: 特定のセルに指定した値を関数にて代入したい。-

    記事引用/メール受信=OFF■

    □投稿者/ Mike -(2023/01/07(10:51))
    □U R L/
        A  B  C  D E F  G    [名前の管理]
      1 id 数値 Val    作業列    名前 参照範囲
      2 a    123  RNm id 数値   id  =Sheet1!$A$2:$A$18
      3 a    123   5 a  123   数値 =Sheet1!$B$2:$B$18
      4 a    123  10 b  456
      5 a  123 123  15 c  789
      6 b    456  18 d 1234
      7 b    456
      8 b    456
      9 b    456
      10 b  456 456
      11 c    789
      12 c    789
      13 c    789
      14 c    789
      15 c  789 789
      16 d    1234
      17 d    1234
      18 d 1234 1234
      
      E3: =IFERROR(SMALL(IF(数値<>"",ROW(数値)),ROW(A1)),"")
      【お断わり】上式は必ず配列(CSE)数式として入力のこと
      F4: =IFERROR(INDEX(INDIRECT(F$2),$E3-1),"")
      セル F4 を右隣りにオートフィル
      範囲 E3:G3 のフィルハンドルを下方にズズーッと(空白行が現れるまで)オートフィル
      C2: =IFERROR(VLOOKUP(A2,F$3:G$6,2,FALSE),"")
      セル C2 のフィルハンドルをズズーッと(空白セルが現れるまで)オートフィル
      オ・シ・マ・イ




    [133503] Re[2]: 特定のセルに指定した値を関数にて代入したい。-

    記事引用/メール受信=OFF■

    □投稿者/ メジロ -(2023/01/07(10:57))
    □U R L/

      半平太さんと同じような疑問ですが、B列には既に値が入っているので
      式を入力するのはどうなのかな?と思いますのでC列に式を入力した
      案です。

      C2: =IF(A2="","",IF(B2="",SMALL($B$2:$B$18,COUNT($B$1:B1)+1),B2))

      下に必要数コピーします。

      A列が記載された通りのデータでしたらこんな式でも行けます。

      C2: =IF(A2="","",SMALL($B$2:$B$18,CODE(A2)-96))




    [133504] Re[3]: 特定のセルに指定した値を関数にて代入したい。-

    解決!!ありがとうございました! / 記事引用/メール受信=OFF■

    □投稿者/ zumo1224 -(2023/01/07(11:34))
    □U R L/

      回答ありがとうございます。

      C列に新しい列を生成することで解決できました。

      この度はありがとうございました。




    [133505] Re[4]: 特定のセルに指定した値を関数にて代入したい。-

    保留中です・・・ / 記事引用/メール受信=OFF■

    □投稿者/ zumo1224 -(2023/01/07(11:47))
    □U R L/

      一度解決を付けてしまいましたが、一度保留にさせていただきます。

      C列に新しい列を生成することで元データを並び替えることは可能になりましたが、
      もし、数値が昇順ではなく、完全にランダムに並んでいる場合はどのような式になりますでしょうか?




    [133506] Re[5]: 特定のセルに指定した値を関数にて代入したい。-

    記事引用/メール受信=OFF■

    □投稿者/ メジロ -(2023/01/07(14:00))
    □U R L/
      例えば「F2:G5」に照合表を作っておきVLOOKUP関数で数値を取得する方法が
      良いのではないかと思います。
      
               F      G
         2     a    1500
         3     b     200
         4     c      10
         5     d     500 
      
       C2: =IF(A2="","",VLOOKUP(A2,$F$2:$G$5,2,FALSE))
      
      照合表を作らないと、こんな式でしょうか。
      
       C2: =IF(A2="","",IF(B2="",INDEX($B$2:$B$18,AGGREGATE(15,6,ROW($A$1:$A$17)/ISNUMBER($B$2:$B$18),COUNT($B$2:B2)+1)),B2))
      
      あるいは
      
       C2: =IF(A2="","",IF(B2="",INDEX($B$2:$B$18,AGGREGATE(15,6,ROW($A$1:$A$17)/($B$2:$B$18<>""),COUNT($B$2:B2)+1)),B2))




    [133507] Re[6]: 特定のセルに指定した値を関数にて代入したい。-

    記事引用/メール受信=OFF■

    □投稿者/ 半平太 -(2023/01/07(16:17))
    □U R L/
       あれー? C列でよかったんですかぁ。
      「項目が多いため」とはどう云うことだったのでしょうか・・
      
       こんなのでいいと思うのですが、何かマズいこと起きますか?
       ↓
       C2セルに =IF(B2<>"",B2,IF(C3="","",C3))
      
       下にコピー
      
      ところで、エクセルのバージョンは何ですか?
      (複数ある場合は、一番古いバージョンが何かを教えてください)
      




    [133508] Re[7]: 特定のセルに指定した値を関数にて代入したい。-

    解決!!ありがとうございました! / 記事引用/メール受信=OFF■

    □投稿者/ zumo1224 -(2023/01/08(07:51))
    □U R L/

      対応ありがとうございます。

      EXCELのバージョンは2016になります。

      式のロジックについても理解することができました。この度は誠にありがとうございました。



このトピック内容の全ページ数 / [0]

このトピックに書きこむ
Name/
E-Mail/

└>このツリーのレス記事をメールで受信しますか? YES/ NO/
Title/
URL/
Comment/ 通常モード->  図表モード-> (←の場合適当に改行を入れて下さい)
タグが使用できます。例 ⇒ <font color="blue">文字</font>
解決!!ありがとうございました! 解決       保留中です・・・ 保留        迷宮入りorほかあたって見ます・・ 迷宮入       すいませ〜ん。誰か〜! Help! ←※回答者専用
解決したらチェック       保留(コードテスト中など・・)         解決不可orレスが全く付かなくてほかのサイトに行くときなど・・
削除キー/
(半角8文字以内) 


- Child Forum -
Edit:ゆう-G