ここから本文です

こんなエクセル関数知りませんか?

bat********さん

2012/7/509:26:02

こんなエクセル関数知りませんか?

エクセルシートの特定のセルから数字を参照する関数がわからず困っています。

やりたいこと:
参照するセルは1から100程度までの整数


目的のセルで次のように表示したい
・数値が「1」の場合「-1」を表示
・数値が「2」の場合 「-1_-2」(_はスペース)
・数値が「3」の場合 「-1_-2_-3」

・数値が「100」の場合 「-1_-2_-3・・・・・_-100」

数値を参照して望みの書式でハイフン等を追加して表示する関数はわかります。
参照する数字を最大値として「-1」から順に番号を作成するという関数がわかりません。

アドバイスよろしくお願いします。

閲覧数:
204
回答数:
2
お礼:
50枚

違反報告

ベストアンサーに選ばれた回答

msk********さん

2012/7/509:49:13

ユーザ定義関数は如何でしょうか。
Alt+F11キー押下→VBE画面の挿入→標準モジュール→サンプルコード貼り付け
シートで=mySTR(セル)を入力してお試しください。

Function mySTR(r As Range)
Dim wk As String, i As Long
For i = 1 To r.Value
wk = wk & i * -1 & " "
Next
mySTR = Trim(wk)
End Function

質問した人からのコメント

2012/7/5 17:02:50

成功 お見事です。
思い通りの結果になりました。
大変助かりました。ありがとうございました。

ベストアンサー以外の回答

1〜1件/1件中

Chiquilinさん

編集あり2012/7/509:52:27

オプション設定の反復計算を組み合わせれば数式でも処理できますが
そういうのはマクロでやった方がいいと思います。

+++

一応書いておきますが マクロを勉強してユーザー定義関数を作った方
が 数段単純な処理で済みます。

バージョンが書いていないので 細かい説明は省きます。
オプションの反復計算にチェックを入れる

■B1セル
=IF(A1,MIN(B1+1,100),0)

■B2セル
=IF(B$1=0,"",IF(B$1>A2,TRIM(B2),B2&" "&-B$1))

A2セルに数値を入力して準備完了
A3セル以下で同じ処理をしたい場合は B2セルの式を下に
コピー

A1セルがキーになるので A1セルに「0」以外の値を入れる
面倒なら チェックボックスを使ってもいい

以上

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる