[[20220409130340]] 『1つのセルに”通貨”と”%”を表示させたい』(迷い羊) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『1つのセルに”通貨”と”%”を表示させたい』(迷い羊)

シート1のA1セルには、月によって表示が変わるように式を入れていますが、持ってくる数字によっては、A1のセルには、通貨または%の数字が入ります。

例1)
1月・・1,000(形式:通貨) / 50%(形式:%)
2月・・2,000(形式:通貨) / 70%(形式:%)


例2)
「2月_個数」を選択したら、A1のセルには2,000が入ります。
「2月_売上率」を選択したら、A1のセルには70%が入ります。

この場合、持ってくる数字によって、A1に表示される形式を変更したいのですが、可能でしょうか?

A1の関数にはVlookupとINDIRECT関数を使用しています。

< 使用 Excel:unknown、使用 OS:unknown >


 A1セルの書式設定を通貨形式にしておき、
 A1セルの条件付き書式で
 =A1<=1
 の時、書式をパーセンテージ形式にするとか。
 ただし上記式の場合、売上金額が\1だと100%と表示されてしまいます。
(碧) 2022/04/09(土) 16:00

 >A1に表示される形式を変更したいのですが、可能でしょうか?
 表示とはタイトルのことでA1に例1のように表示させるんですよね。

 それぞれの値を二つのセルに分けてそれを結合してA1に貼り付けるしかないです。
 但しA1の関数は削除されます。

(nm) 2022/04/09(土) 16:27


 どこかのセル(仮 = E1)を入力を切り替えたら
 表示形式を切り替える

 対象モジュールに

 Private Sub Worksheet_Change(ByVal Target As Range)
    Dim myData As Range
    Set myData = Application.Intersect(Target, Range("$E$1"))
    If myData Is Nothing Then Exit Sub
    If myData.Value Like "*個数*" Then
        Range("A1").NumberFormatLocal = "G/標準"
    Else
        Range("A1").NumberFormatLocal = "0.0%"
    End If
    Application.EnableEvents = False
    Range("E1").Select
    Application.EnableEvents = True
 End Sub

 個数と言う文字を検索しているので何月でも可
 こんなんどうでしょうか?
(あみな) 2022/04/09(土) 17:59

例1)ではタイトル通りの表示、例2)では 表示形式の変更
どちらが正しいのかな。
(COW) 2022/04/09(土) 19:49

碧さん

コメントありがとうございます!
注意点に注意して条件付き書式で試してみます。
(迷い羊) 2022/04/11(月) 07:05


nmさん

コメントありがとうございます!
色々な場所から数字持ってきているので消えしまうと困ってしまいます。。

(迷い羊) 2022/04/11(月) 07:07


あみなさん

コメントありがとうございます!
マクロですよね…
でも興味があるので試してみます!
ちなみに、複数(2月_個数、3月_個数...)ある場合は、どういう書き方になるのでしょうか?
月+個数の名前にしてしまっていて、個数だけでは引っ張ってこれないと思いました。
よろしくお願いいたします。
(迷い羊) 2022/04/11(月) 07:11


cowさん

コメントありがとうございます!
紛らわしくてすみません。

どちらかと言うと、どちらもやりたいです。
a1に入る数字によって形式を変更できたらなと思いまして相談させていただきました。
よろしくお願いいたします。
(迷い羊) 2022/04/11(月) 07:21


 >色々な場所から数字持ってきているので消えしまうと困ってしまいます。。
 A1の関数を維持するならA1に例1)の表示はできません。
 第一にどうやって同時に二つの値を取得するんですか。
 前述しましたがそれを表示する専用のセルを設置したらどうですか。

     |[A]  |[B]   |[C]      
 [1]|個数 |売上率|表示     
 [2]|2,000|85%   |2,000/85%
 C1=TEXT(A2,"#,###")&"/"&TEXT(B2,"0,0%")

(nm) 2022/04/11(月) 10:01


 >月+個数の名前にしてしまっていて、個数だけでは引っ張ってこれないと思いました。

 私は、出来ない事は言いません。また反映できないマクロをあげません。						

 >ちなみに、複数( 2月_個数、3月_個数… )ある場合は、どういう書き方になるのでしょうか?

 マクロ(コード)は、「 個数と言う文字を検索しているので何月でも可 」です。						
 コードは訂正なしで表示形式を、"G/標準"または、"0.0%"に切替可能です。						
 ご自身で、テストをされましたか? … テストもしてないのに適当な事を言われても困りますよ。						

 しかたがないので、例をあげるしかないですね。						
 どのようなシートの構成と、テーブルのレイアウトかは説明が無いので						
 適当になります。						

 ・シート1を ( Master ) シート名とする、他の(○月)シートを						
   Sheet2 〜 Sheet13 までに ( 1月〜12月 ) のシート名とする						
 ・リストシートを作成し、2連動プルダウンで、個数選択と、売上率選択を作る。						

 ◇リストシート構成とする						

     |[A]   |[B]      |[C]        						
 [1] |区別  |個数     |売上率     						
 [2] |個数  |1月_個数 |1月_売上率 						
 [3] |売上率|2月_個数 |2月_売上率 						
 [4] |      |3月_個数 |3月_売上率 						
 [5] |      |4月_個数 |4月_売上率 						
 [6] |      |5月_個数 |5月_売上率 						
 [7] |      |6月_個数 |6月_売上率 						
 [8] |      |7月_個数 |7月_売上率 						
 [9] |      |8月_個数 |8月_売上率 						
 [10]|      |9月_個数 |9月_売上率 						
 [11]|      |10月_個数|10月_売上率						
 [12]|      |11月_個数|11月_売上率						
 [13]|      |12月_個数|12月_売上率						

 ◇各月別のシートを下記の構成とする						

    |[A]   |[B] |[C]   |[D]   |[E]       |[F]     						
 [1]|商品名|価格|販売数|売上  |前年度売上|前年対比						
 [2]|商品A | 500|    50|25,000|    22,000|113.6%  						
 [3]|商品B | 600|    80|48,000|    40,000|120.0%  						

 ◇シート1( Master )シート						

    |[A]   |[B]|[C] |[D]   |[E]       |[F]|[G]   |[H]  |[I]|[J]|[K]						
 [1]|113.6%|   |区別|売上率|2月_売上率|   |検索値|商品A|   |2月|  6						

 A1の式=IFERROR(VLOOKUP(H1,INDIRECT(J1&"!A:F"),K1,FALSE), "")						
 D1=( 個数、売上率 ) の選択を切替するプルダウン						
 E1=2連動プルダウンの、○月_個数 か、○月_売上率 を選択する						
 J1の式=LEFT(E1,FIND("_",E1)-1)						
 C1( 区別 )、G1( 検索値 )は、ただの文字						
 H1( 商品A )は、VLOOKUP の( 検索値 )						
 K1の式=IF(D1="個数",3,IF(D1="売上率",6))						
 K1( 数値 )は、VLOOKUP の( 戻り値を含む範囲内の列番号 )						

 ※D1選択から、E1選択をすると、A1の式が入った値の表示形式が切り替わります。						
 2連動プルダウンの作り方は、下記のURLでも参考にしてください。						
 https://blog-tips.sekenkodqx.jp/2019/02/19/excel-input-rule00002/						

(あみな) 2022/04/11(月) 12:14


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.